从另一个角度理解分布式系统与CAP定理

x33g5p2x  于2021-12-13 转载在 其他  
字(0.9k)|赞(0)|评价(0)|浏览(198)

从另一个角度理解分布式系统与CAP定理

分布式计算的本质

分布式系统的产生,来源于源于人们日益增长的性能需求与落后的x86架构之间的矛盾。
人们想办法利用网络和一大票便宜的PC机,通过一顿猛如虎的数学操作,来自己构建一个宏观上更强性能、更高负载能力的计算机,去替换掉昂贵的小型机、大型机。

单体服务器 VS 分布式计算:系统规模问题

分布式系统的设计,摆脱了单机昂贵的x86服务器,但没有摆脱冯诺依曼结构。原有的单机瓶颈,在分布式系统中仍然会存在。具体来看,

  • 单体的计算机使用总线通信,总线成为数据传输速率的瓶颈。

  • 基于网络的分布式计算,其本质是把网络当做总线,仍然不能摆脱节点间通信和协调时的数据传输瓶颈。

  • 每一台机器相当于一个运算器加一个存储器

  • master 节点就是控制器加输入输出设备

分布式计算的瓶颈

无论主从还是主备,整个系统的流量最终还是要落到一个特定的资源上。当然这个资源可能是多台机器,但是依旧无法解决一个严重的问题:系统规模越大,其本底性能损失就越大。因为要涉及到节点之间的通信和协调,要想让数百万节点一起运算,传递命令和数据的工作占据了绝大多数的运行时间。
分布式系统的性能问题可能表现为很多方面,但归根到底,是人们日益增长的性能需求和数据一致性之间的矛盾。一旦需要强数据一致性(Consistency),那就必然存在一个限制性能的瓶颈,这个瓶颈就是信息传递的速度(Availability)。

那么,信息传递速度的瓶颈在哪里呢?

所以说,当应用规模由单体拓展到分布式系统的时候,数据密集型应用设计的基本矛盾已经由“人们日益增长的性能需求与落后的x86架构之间的矛盾”转化成“人们日益增长的性能需求和数据一致性之间的矛盾”了。

但(就像CAP定理所说)新的矛盾是无解的。为什么说它是无解的呢?个人认为,信息传递的瓶颈最表层是人类的硬件制造水平决定的,再往底层去是冯·诺依曼架构决定的,再往底层去是图灵机的逻辑模型决定的。可是图灵机是计算机可行的理论基础呀,所以,还是怪这个熵增宇宙吧,既然我们这个宇宙是一个熵增宇宙,那么这个问题就无法解决。为什么规模越大维护成本越高呢,你也是个成熟的宇宙了,该学会自己把自己变成熵减宇宙了(狗头)。

相关文章