细数主流的开源分布式系统,你会发现四处都是Master-Slave架构的影子,是最常用的设计套路之一,深入理解了Master-Slave架构对于理解这些系统有很大的帮助,下面来盘点一下有哪些著名的分布式框架采用了Master-Slave架构:
1.HDFS
NameNode和DataNode实际上是Master-Slave模式,NameNode作为Master进行集群和元数据管理,DataNode负责实际的数据存储。
2.Elasticsearch
Master-Slave模式,Master进行集群和元数据管理,Data Node作为Slave节点,负责实际数据的索引和搜索操作。
3.Hbase
HMastet和HRegionServer也是Master-Slave架构,HMaster负责Region分配,协调HRegionServer,提供管理功能,而HRegionServer负责维护HRegion。
4.MySQL
主从复制也是Master-Slave模式,Slave从Master拉取binlog。
5.Flink
Flink的架构模式也是类似Master-Slave模式,JobManager相当于Master,负责集群任务调度和资源管理,TaskManager相当于Slave负责具体节点的资源申请和管理。
除了以上这些案例,Master-Slave架构的应用还有很多,将其各种应用场景研究透彻了,再去面对这些分布式系统就容易一些了。