分布式系统架构系列讲解 - 总目录
一、引言
分布式系统通常由大量异构的节点和网络组成,节点随时可能crash,网络也随时可能出现延迟、丢包、分区。相比集中式应用,分布式系统放大了出故障的概率,因此分布式系统的其中一个实现目标就是高可用,高可用意味着系统必须具有较强的容错性,即在部分节点故障的情况下仍然能正常对外提供服务。
分布式系统实现高可用的方式有很多,常见的主要有以下几种:
- Master-Slave(包括主备、主从、主主)
- 集群
- 熔断
- 降级
- 限流
Master-Slave、集群的本质都是冗余。熔断、降级、限流则从另一个维度——系统内部的功能可用性,去考虑高可用的设计。本文先从最基础的开始,介绍Master-Slave这类双机架构的高可用实现方式。
高可用一般分为存储高可用和计算高可用,针对存储高可用,这里的冗余指数据冗余,对于计算高可用,指的是计算能力的冗余