5、微服务架构中的弹性设计与实践

微服务架构中的弹性设计与实践

1. 弹性的概念

弹性是衡量系统或系统中单个组件从故障中快速恢复的能力。微服务架构本质上是分布式系统,在分布式系统中,故障是常见的。网络可能由于各种原因不可靠,如海底光纤电缆损坏、路由器过热、负载均衡器故障、计算机内存不足、电源故障、地震等,这些都可能导致分布式系统中的通信失败。

分布式系统的架构师和设计师常犯的八个错误假设包括:
1. 网络是可靠的。
2. 延迟为零。
3. 带宽是无限的。
4. 网络是安全的。
5. 拓扑结构不变。
6. 只有一个管理员。
7. 传输成本为零。
8. 网络是同质的。

2. 应对故障的策略
  • 接受故障并提高弹性 :以Netflix为例,Ariel Tseitlin在其论文中提到通过定期引入故障来减少不确定性,从而提高系统的弹性。Netflix通过编写程序在生产环境中定期引发故障(Netflix Simian Army),Google也会模拟大规模灾难进行年度灾难恢复测试。
  • Netflix的三步策略
    1. 将每个工程师视为相应服务的运营者。
    2. 将每次故障视为学习的机会。
    3. 培养无指责的文化。
  • 冗余 :分布式系统中最常见的应对故障的方法是冗余,每个组件都有一个冗余副本,当一个组件发生故障时,对应的副本将接管。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值