写在前面

分布式的体系结构目前有两种,第一种是集中式架构,也就是我们最常见到的master-slave架构,第二种是非集中式架构,也就是我们经常听到的去中心化架构,本文我们就一起来看下吧!

1:集中式架构

集中式架构又叫做master/slave,或者leader/follower架构,在该架构中,有一个或者是一组计算机充当大脑的角色,控制其他计算机,其中充当大脑的计算机叫做主,其他的计算机叫做从,所有的数据都存储在主服务器,从服务器接收主服务器的调度,并反馈结果给主服务器,架构图如下:

主主架构 主从架构和分布式架构_master/slave

当前盛行的kubernetes ,即k8s,采用的就是这种架构,k8s中的master node就是这里的主,worker node就是这里的从,对比如下图:

主主架构 主从架构和分布式架构_非中心化架构_02

再比如Redis的主从架构 也是属于集中式架构。

这种架构的优点是实现简单,缺点是存在单点性能瓶颈和单点故障问题。

2:非集中式架构

非集中式架构又叫做去中心化架构,这里的去中心化意思就是,所有的节点都是平等的,即都是平头百姓,不存在状态的差异,都可以存储数据和执行任务,结构如下图:

主主架构 主从架构和分布式架构_主主架构_03

redis集群 使用的就是这种去中心化的架构,其通过将16384个分片分散到不同的节点上实现数据的分散存储,然后通过gossip 协议进行数据同步,如同步各个节点的分片信息等。

这种架构的优点是不存在单点性能瓶颈和单点故障问题,且具有纵向扩展能力,缺点是具体实现比较复杂。目前这种架构方式正逐步成为主力。

写在后面

小结

本文看了分布式体系架构的集中式架构(master/slave),非集中式架构(去中心化架构),并给出了具体的应用实例。希望本文能够帮助到你。