点击上方蓝色“程序猿DD”,选择“设为星标”

回复“资源”获取独家整理的学习资料!

我们在构建分布式系统的时候,对开发人员会有一个很重要的要求:即使你的上下游挂了,你的系统不能挂。这充分体现了分布式系统健康保障的基本思路,从服务级别去控制故障的蔓延,防止系统性崩溃的出现。

排除自身逻辑中的作死行为,从方法上来说,在复杂的分布式系统中,要保持自身的牛逼属性,简单来说就两点:

  • 做好限流:提供给别人的接口,不能因为被频繁调用,把自己压死

  • 做好熔断:调用别人接口的时候,不能因为别人影响慢了,把自己拖死

理论上,分布式系统中的每个接口调用都能做到上面两点,其实要出现系统性故障只有比较大范围的整体性故障才会造成了,比如:整个机房挂了等重大灾难出现。个别服务的作死情况,因为上下游都有保护,是可以很安全的抵御故障蔓延而研发的系统性故障的。

但是,理论总是非常美好,而实践总有各种意外。笔者所经历的各种故障,基本上也都是没有做好上面两点所造成了,一直都没有统计过,后端开发人员在这个理念上的认识程度以及付出实践的情况,所以这里做个小调查:你在调用别人接口或给别人提供接口的时候,都会充分的保障自身的服务稳定吗?

欢迎加入我的星球

4月优惠最后几天咯

参与更多不只有技术的深度讨论

调查与讨论:你在调用别人接口的时候有考虑过失败情况吗?相关推荐

  1. 在远程调用别人接口的时候,传输参数一般都是String类型的字符串,改字符串可以是json格式的,也可以是xml格式的,那么问题来了

    在远程调用接口的时候,传输参数一般都是String类型的字符串,该字符串可以是json规则格式的,也可以是xml规则格式的,那么问题来了. 怎么将自己的对象,拼接成接口规定的格式?即将非格式化的数据( ...

  2. java调用远程 接口_java通过url调用远程接口返回json数据

    java通过url调用远程接口返回json数据,有用户名和密码验证, 转自 https://blog.csdn.net/wanglong1990421/article/details/78815856 ...

  3. JAVA程序中访问别人接口

    说明:前台访问你的接口,传过来参数,你返回对应数据.同理,你在java程序中访问别人接口,你给别人参数,别人返回给你相应数据. 这个功能相当于前端调用你的接口传过来参数,你解决不了,需要调用别的接口解 ...

  4. java接口对接——别人调用我们接口获取数据

    java接口对接--别人调用我们接口获取数据,我们需要在我们系统中开发几个接口,给对方接口规范文档,包括访问我们的接口地址,以及入参名称和格式,还有我们的返回的状态的情况, 接口代码: package ...

  5. 调用别人的接口的几种方法

    概述 在实际开发过程中,我们经常需要调用对方提供的接口或测试自己写的接口是否合适.很多项目都会封装规定好本身项目的接口规范,所以大多数需要去调用对方提供的接口或第三方接口(短信.天气等). 在Java ...

  6. delphi 调用php接口_贝壳找房小程序从PHP到Golang的跃迁之路

    1. 前言 1.1 PHP是最好的语言 PHP确实有非常强大的优势.对于中小型Web服务,业务具有高度不确定性,产品迭代速度是第一目标,非常适合使用PHP作为创业启动语言. 1.2 使用PHP遇到的问 ...

  7. Android之应用程序如何调用支付宝接口

    http://blog.csdn.net/lilidejing/article/details/19483717 最近在做一个关于购物商城的项目,项目里面付款这块我选的是调用支付宝的接口,因为用的人比 ...

  8. vue如何通过NodeJs本地获取微信access_token及签名,并调用微信接口

    一直都想搞一下微信公众号网页开发,公司忙没有时间自己也没开发过所以也没有头绪,前两天通过自己的摸索以及自行查找的资料,终于通过nodejs在本地成功的获取到了微信的access_token及签名,以及 ...

  9. java异步调用微信接口_微信支付V3 SDK(Java版,支持同步异步调用)

    我们在开发微信支付时,发现微信官方已经对SDK做了升级,V3版本的SDK从设计上符合RESTful规范. 我们再在开源库中寻找是否有现成de开箱即用.并且支持响应式编程的SDK版本.经过一凡寻找,令我 ...

最新文章

  1. SQL性能优化之索引优化法
  2. 最小割 ---- 2021 ccpc 威海 H city-safety(最大利润 = 最大收益 - 最小花费(最小割))
  3. 如何把自己的经历写成小说_《诡秘小说》:读者与作者共同创作,难分真假,午夜不敢独自看!...
  4. MathType如何设置标尺的单位
  5. centos7 搭建vsftpd服务并锁定用户的家目录
  6. 混凝土墙开洞_新乐专业混凝土切割报价适中
  7. 视频大压缩的具体操作方法
  8. GATNE:阿里电商场景下的大规模异构网络表示学习 KDD2019
  9. 深度学习笔记(14) 评估指标
  10. vuedraggable能实现自由拖拽功能吗?_基于 vue.js 仿禅道主页拖拽效果
  11. 计算机网络中TCP连接管理,计算机网络 TCP协议
  12. 编译安装imagick出错:make: *** [imagick_class.lo] Error 1
  13. 面经 | NLP算法岗(百度)
  14. 【创建型】Prototype模式
  15. linux网络设备驱动之dm9000驱动源码框架解析
  16. 神经内分泌肿瘤如何分级,神经系统分级调节概念
  17. Program size: Code, RO-data , RW-data, ZI-data
  18. 网络安全学习路线(顶级白帽黑客)
  19. k8s学习笔记5-部署和应用ingress-nginx-controller(v1.3.0)
  20. 简明python学习笔记—基本概念

热门文章

  1. cmake 静态编译 简介
  2. golang 不定参 可变参 使用 传递
  3. python 文本模式读写文件时 不应使用 os.linesep 简介
  4. javascript es6 == === is 区别
  5. linux 空文件 sed 不能写入数据
  6. linux gnome虚拟文件系统 gvfs和gnome-vfs 简介
  7. golang连接mysql报错:this authentication plugin is not supported 解决方案
  8. 通过GeoIP2分析访问者IP获取地理位置信息
  9. VC6工程升级VS2013遇到的问题
  10. (四)OpenStack---M版---双节点搭建---Glance安装和配置