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

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

1. 弹性概述

弹性是衡量系统或系统中单个组件从故障中快速恢复的能力。微服务架构本质上是分布式系统,在分布式系统中,故障十分常见,网络永远不可靠。如海底光纤电缆可能被潜艇损坏,路由器可能因过热爆炸,负载均衡器可能出现故障,计算机可能内存不足,停电可能导致数据库服务器停机,地震可能使整个数据中心瘫痪等。

1994 年,Peter Deutsch 起草了分布式系统架构师和设计师可能会做出的七个假设,1997 年 James Gosling 又增加了一个,这些假设被称为分布式计算的八大谬误:
1. 网络是可靠的。
2. 延迟为零。
3. 带宽是无限的。
4. 网络是安全的。
5. 拓扑结构不会改变。
6. 只有一个管理员。
7. 传输成本为零。
8. 网络是同质的。

故障不可避免,Ariel Tseitlin 在论文中以 Netflix 为例,谈到接受故障以提高弹性和最大化可用性。Netflix 定期引入故障,编写导致故障的程序并在生产环境中日常运行(Netflix Simian Army);Google 也超越简单测试,模拟大规模灾难。

Netflix 采取了三个重要步骤来构建更具反脆弱性的系统和组织:
1. 将每个工程师视为相应服务的操作员。
2. 将每次故障视为学习的机会。
3. 培养无指责文化。

2. 应对故障的常见方法

在分布式系统中,应对故障最常见的方法是冗余,即每个组件都有冗余副本,当一个组件出现故障时,其对应副本将接管。除了冗余,以恢复为导向的开发思维也有助于构建更具弹性的软件。以

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值