各位朋友,今天咱们来聊聊分布式绕不开的魔咒——CAP 定律。说到这 CAP 定理啊,那可是分布式领域的重要概念。在讨论优化分布式架构时,往往就是围绕着它所包含的可用性、一致性和容错性这三个点的提升。
比如说,为了提升系统的可用性,可以增加服务器来提高系统的并发量。而要提升容错性,可以进行集群的部署。像一台服务器挂掉,其他节点仍能正常对外提供服务。数据库、缓存都进行集群的部署,包括做好容灾备份。就算机房发生火灾,也不会造成数据丢失,不会有啥影响。
CAP 常常是重点考察的对象,主要看您对分布式系统架构的理解程度。在设计分布式系统时,有没有相关解决分布式问题的方案和常见措施。
就拿数据库集群来说,一般互联网项目中,从库负责读,分别部署在不同服务器上,用来缓解数据库压力,提升数据库的 IO。但这样会涉及从库数据的同步问题,通常用 BINLOG 来同步数据,可同步有时间间隔,分布在不同服务器上有网络开销,会有数据延迟,一致性就差了很多。分布式数据库就是典型的牺牲了一致性,提升了可用性和容错性的案例。
有人可能会想,既然有网络延迟,把主库、从库放在一台服务器上不就行了?但这样虽然达不到强一致性,可也是一种权衡的选择。
好了,今天关于分布式的 CAP 定律就讲到这儿,希望对您有所帮助!