分布式系统如拥抱故障?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

分布式系统如拥抱故障?

kun坤 2020-04-23 19:41:38 32

分布式系统如拥抱故障?

分享到
取消 提交回答
全部回答(1)
  • kun坤
    2020-04-23 19:41:46

    分布式系统曾经只是计算机科学博士和软件架构师的领地,受众非常小。但现在不同了。 仅仅因为你在笔记本电脑上写程序、无需关心消息如何传递和锁问题,并不意味着你不 需要关心分布式系统:

    你写的程序发起了多少对外部服务的 API 调用? 你的代码是跑在PC 上还是移动设备上 —— 你确切地知道所有可能的设备类型吗? 当你的应用正在运行时,它可能遇到哪些网络方面的限制,关于这些你知道多少? 当软件到达特定规模时,它会遇到哪些瓶颈,关于这些你又知道多少? 在经典分布式计算理论中,我们学到的一件事情是:分布式系统经常会发生故障,而且 大都是局部而非全局故障。这些故障不仅难于诊断和预测,而且很难复现 —— 可 能是某个特定的第三方数据流没数据了,可能是位于某个你从未听说过的地方的路由器挂掉 了。你永远在同短时故障(intermittent failure)作斗争,这注定是一场失败的战役 吗?

    应对复杂分布式系统的方法并不是简单地增加测试,或者采用敏捷开发流程,也不是采用 DevOps 或者持续交付(continuous delivery)。任何单一的技术或方法都无法阻止类似 丰田汽车事故这样的事情再次发生。实际上,类似这样的事情肯定会再次发生。

    解决这类问题我们需要拥抱这样一种观念:无法预知的故障种类太多了 —— 我们面对的是一 片巨大而未知的未知海洋;此外,还需要改变我们构建系统时 —— 以及运维现有系统时 —— 的思考方式。

    0 0
云计算
使用钉钉扫一扫加入圈子
+ 订阅

时时分享云计算技术内容,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。

推荐文章