分布式系统架构系列讲解三十三(高可用 1):Master-Slave

分布式系统架构系列讲解 - 总目录

一、引言

分布式系统通常由大量异构的节点和网络组成,节点随时可能crash,网络也随时可能出现延迟、丢包、分区。相比集中式应用,分布式系统放大了出故障的概率,因此分布式系统的其中一个实现目标就是高可用,高可用意味着系统必须具有较强的容错性,即在部分节点故障的情况下仍然能正常对外提供服务。

分布式系统实现高可用的方式有很多,常见的主要有以下几种:

  • Master-Slave(包括主备、主从、主主)
  • 集群
  • 熔断
  • 降级
  • 限流

Master-Slave、集群的本质都是冗余。熔断、降级、限流则从另一个维度——系统内部的功能可用性,去考虑高可用的设计。本文先从最基础的开始,介绍Master-Slave这类双机架构的高可用实现方式。

高可用一般分为存储高可用和计算高可用,针对存储高可用,这里的冗余指数据冗余,对于计算高可用,指的是计算能力的冗余。本文的讨论主要针对存储高可用,计算高可用可类比理解。

1.1 复杂性

存储高可用,都是通过将数据复制到多个存储设备来实现的,其复杂性主要来源与以下几点:

  • 数据如何复制?
  • 如何应对复制

版权声明:本文为u013277209原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。