复杂系统中的意外故障与复杂性应对
在当今的科技领域,复杂系统无处不在,从电影流媒体服务到大型在线零售公司的基础设施,这些系统虽然功能强大,但也容易出现各种意外故障。下面我们通过几个具体的例子来深入了解这些复杂系统中的问题。
客户引发的重试风暴
假设有一个电影流媒体服务的分布式系统,它主要由两个子系统组成:
- 系统 R :存储个性化用户界面。给定一个代表用户的 ID,它会返回根据该用户电影偏好定制的用户界面。同时,R 会调用系统 S 以获取每个用户的额外信息。
- 系统 S :存储用户的各种信息,如用户是否有有效账户以及他们被允许观看的内容。由于数据量太大,无法存储在一个实例或虚拟机中,因此 S 将访问、读写操作分离为两个子组件:
- S - L :负载均衡器,使用一致性哈希算法将读密集型负载分配到 S - D 组件。
- S - D :存储单元,包含完整数据集的一小部分样本。例如,一个 S - D 实例可能存储所有姓名以字母“m”开头的用户信息,而另一个实例可能存储姓名以字母“p”开头的用户信息。
这个系统的维护团队在分布式系统和云部署方面经验丰富,采取了一系列合理的措施,如设置合理的回退机制、制定缩放策略以控制成本等。然而,一次意外事件却引发了严重的问题。
有一天,一位名叫 Louis 的客户在非理想条件下观看流媒体视频。他在火车上使用笔记本电脑的浏览器访问系统,视频中突然出现的奇怪画面让他受惊,不小心掉落了笔记本电脑,一些按键被按下,当他重新调整好电脑继续观看时,视
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



