Monzo服务中断的事后分析
极客时间编辑部
讲述:丁婵大小:939.90K时长:02:01
Monzo 是英国的一家仅提供移动端服务的数字银行。近日,该银行的活期账户支付和预付信用卡系统出现了服务中断。Monzo 工程部门负责人奥利弗·贝蒂(Oliver Beattie)在 Monzo 社区论坛分享了服务中断的事后分析。
在最初架构设计的时候,Monzo 就将在全球范围内提供服务作为核心前提之一。久而久之,这使得他们开发了数以百计的微服务。
这些微服务被打包进 Docker 容器,再使用 Kubernetes 部署到 AWS 上。服务的编排是由 etcd 完成的,kubernetes 就是用它来识别服务的部署位置以及每个服务的状态。服务间的路由和负载均衡是使用 linkerd 实现的。
这次服务中断既影响了预付信用卡,又影响了活期账户持有者。经过分析,Monzo 发现有多个原因造成了此次服务中断事故。
首先,Kubernetes 的一个 Bug 会导致请求在集群重新配置后超时。在服务实际中断导致这些超时出现的之前一周,他们进行了集群重新配置,使 linkerd 接收不到 Kubernetes 的更新。
再者,当服务中断发生时,他们的一个直接反应是重启所有的 linkerd 实例,这暴露出了一个问题,Monzo 使用的 Kubernetes 和 linkerd 版本不兼容,这使情况变得更加糟糕,从服务中断变成了整个平台的故障。
从这样一次服务中断里可以汲取一些有价值的教训。除了修复 Bug、检查不同库的版本兼容性及其他问题外,Monzo 认识到了改进内部或外部通信中断的处理措施的必要性。此外,另一个教训是认识到了报警、对应用程序的每一层进行健康检查从而及早发现人为错误及其他错误的重要性。
总而言之,重要的是,以后要采取一切措施防止服务中断,既能解决问题,又能就正在发生的事清晰地沟通,这样,将来就可以构建起更好的保障措施。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论