第一章:分布式系统概述

💡 原文中文,约10500字,阅读约需25分钟。
📝

内容提要

分布式系统由多台网络计算机通过消息传递协作完成任务,具备高可用性和可扩展性,但面临网络不可靠、时钟不同步、部分失效和数据一致性等挑战。工程师需转变思维,接受故障常态,寻求一致性与可用性的平衡。

🎯

关键要点

  • 分布式系统由多台网络计算机通过消息传递协作完成任务,具备高可用性和可扩展性。
  • 分布式系统面临网络不可靠、时钟不同步、部分失效和数据一致性等挑战。
  • 工程师需转变思维,接受故障常态,寻求一致性与可用性的平衡。
  • 集中式单机系统的优点是简单,但缺乏容错性,单点故障会导致系统不可用。
  • 分布式系统通过横向扩展提升性能和存储能力,解决集中式系统的瓶颈。
  • 分布式系统的定义是由多个独立计算机组成,通过消息传递进行通信。
  • 分布式系统的特点包括多节点协作、网络通信、无全局时钟和协同工作。
  • 实现可靠的分布式系统面临诸多挑战,如网络延迟、消息丢失和部分失效。
  • 部分失效带来的不确定性使得系统难以处理请求的成功与否。
  • 数据一致性在分布式系统中是核心矛盾,需在强一致性和可用性之间找到平衡。
  • 工程师需从二态逻辑转向三态逻辑,处理消息超时的情况。
  • 放弃对全局绝对时间的依赖,关注事件的因果顺序和逻辑时钟。
  • 接受CAP定理的约束,寻找在一致性与可用性之间的合理权衡。
  • 设计具备容错能力的系统,承认故障是常态,通过熔断、降级等手段应对故障。
➡️

继续阅读