27、分布式系统的故障处理与扩展策略

分布式系统的故障处理与扩展策略

1. 系统故障案例及初步思考

在实际系统中,可能会遇到默认禁用导致的严重问题。例如,曾有系统默认禁用某项功能,致使大量线程阻塞堆积。原本正常情况下仅有 40 个并发连接的应用程序,在短短五分钟内,连接数峰值达到约 800 个,最终导致系统崩溃。更糟糕的是,与之交互的下游服务,使用的客户不到 5%,产生的收入更是微乎其微。

这一案例让我们深刻认识到,在分布式系统中,反应缓慢的系统比快速失败的系统更难处理,延迟是系统的大敌。即使设置了正确的超时时间,若所有出站请求共享一个 HTTP 连接池,一个缓慢的服务也可能耗尽所有可用工作线程,即便其他服务运行正常。而且,当下游服务出现问题时,持续向其发送流量会使情况恶化,因为下游服务根本没有恢复的机会。

为避免此类情况再次发生,可采取以下三个修复措施:
- 正确设置超时时间。
- 实施隔离机制(Bulkheads),分离不同的连接池。
- 实现断路器(Circuit Breakers),避免向不健康的系统发送请求。

2. 抗脆弱组织的实践

2.1 抗脆弱理念的引入

Nassim Taleb 在《反脆弱》一书中提到,有些事物能从失败和混乱中获益。Ariel Tseitlin 将这一概念应用到 Netflix 的运营中,提出了抗脆弱组织的概念。Netflix 运营规模巨大,且完全基于 AWS 基础设施,这决定了它必须善于应对失败。Netflix 更进一步,主动引发故障,以确保其系统具备容错能力。

2.2 科技巨头的故障模拟实践

  • Google </
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值