写在前面
分布式的体系结构目前有两种,第一种是集中式架构,也就是我们最常见到的master-slave架构,第二种是非集中式架构,也就是我们经常听到的去中心化架构,本文我们就一起来看下吧!
1:集中式架构
集中式架构又叫做master/slave,或者leader/follower架构,在该架构中,有一个或者是一组计算机充当大脑的角色,控制其他计算机,其中充当大脑的计算机叫做主,其他的计算机叫做从,所有的数据都存储在主服务器,从服务器接收主服务器的调度,并反馈结果给主服务器,架构图如下:
当前盛行的kubernetes ,即k8s,采用的就是这种架构,k8s中的master node就是这里的主,worker node就是这里的从,对比如下图:
再比如Redis的主从架构 也是属于集中式架构。
这种架构的优点是实现简单,缺点是存在单点性能瓶颈和单点故障问题。
2:非集中式架构
非集中式架构又叫做去中心化架构,这里的去中心化意思就是,所有的节点都是平等的,即都是平头百姓,不存在状态的差异,都可以存储数据和执行任务,结构如下图:
如redis集群 使用的就是这种去中心化的架构,其通过将16384个分片分散到不同的节点上实现数据的分散存储,然后通过gossip 协议进行数据同步,如同步各个节点的分片信息等。
这种架构的优点是不存在单点性能瓶颈和单点故障问题,且具有纵向扩展能力,缺点是具体实现比较复杂。目前这种架构方式正逐步成为主力。
写在后面
小结
本文看了分布式体系架构的集中式架构(master/slave)
,非集中式架构(去中心化架构)
,并给出了具体的应用实例。希望本文能够帮助到你。
参考文章列表
k8s从入门到会用系列 。
redis之读写分离 。
redis之分片集群 。