分布式系统
2026/6/3大约 2 分钟
分布式系统
概述
分布式系统是由多个自治计算机组成的集合,这些计算机通过网络互联,运行分布式软件,对用户呈现为一个统一的整体系统。
分布式系统的核心特征
- 并发性: 系统中的各个组件可以并发执行,共享资源。
- 缺乏全局时钟: 分布式系统中没有统一的全局时钟,各个节点依靠消息传递来协调。
- 独立故障: 系统中的组件可能独立发生故障,但系统整体应能继续运行。
分布式系统要解决的问题
- 一致性: 如何保证分布式系统中多个节点之间的数据一致性(如Raft、Paxos等共识算法)。
- 可用性: CAP定理指出,在分区容错的前提下,分布式系统必须在一致性和可用性之间做出权衡。
- 分区容错: 系统在网络分区发生时仍能继续运行的能力。
- 服务发现: 在动态变化的集群中,如何找到可用的服务实例(如Consul、Etcd、Zookeeper)。
- 负载均衡: 如何将请求合理地分发到多个服务实例上。
与微服务的关系
微服务架构本质上是分布式系统的一种实践形式。微服务将单体应用拆分为多个独立部署的服务,每个服务运行在自己的进程中,服务之间通过轻量级通信机制进行交互。因此,微服务架构天然面临着分布式系统的所有挑战。
相关阅读: 更多关于微服务架构中的服务发现、服务注册、集群搭建等内容,请参见本目录下的 微服务概述 章节。
扩展学习
关于分布式系统的深入知识,推荐学习:
- Raft一致性算法及其在Consul中的应用
- CAP定理与BASE理论
- 分布式事务解决方案(如Saga模式、TCC模式)
- 分布式链路追踪(如Jaeger、Zipkin)
- 分布式配置中心(如Consul KV、Apollo)