每日一博 | 浅谈服务接口的高可用设计
作者:京东零售 王磊 前言 作为一个后端研发人员,开发服务接口是我正常不过的工作了,这些接口不管是面向前端HTTP或者是供其他服务RPC远程调用的,都绕不开一个共同的话题就是“高可用”,接口开发往往看似简单,但保证高可用这块实现起来却不并没有想想的那么容易,接下来我们就看一下,一个高可用的接口是该考虑哪些内容,同时文中有不足的欢迎批评指正。 到底啥是高可用 用一句简单的话来概就是我们的系统具不具备应对和规避风险的能力。 为啥做高可用 1. 程序都是有人开发的,在开发过程中会犯错从而导致线上事故的发生 2. 系统运行依赖各种运行环境:CPU、内存、硬盘、网络等等,而这些都有可能损坏 3. 业务拉新用户正在注册账号,结果注册接口挂了用户体验受影响 4. 双十一、618等大促大量用户下单,结果下单服务接口挂了GMV受影响等等 5. 其他未知因素等等 总之为了应对这些不可控因素的发生,我们必须要做高可用 高可用的关键点 我们说过高可用的本质是系统是否具备应对和规避风险的能力,那么从这个角度出发来设计高可用接口的有以下几个关键因素:Dependence(依赖)、Probability(概率)、T...

