学习分布式的笔记
一、CAP理论
1、分布式有三个指标:分区容错(Partition tolerance)、可用性(Availability)、一致性(Consistency)。这三个指标不可能同时做到,这就是CAP理论。
2、分区容错(Partition tolerance):意思是区间通信可能失败,比如:一台服务器在中国、一台服务器在英国,这两台服务器之间的通信可能失败,因此设计系统的时候应该尽可能的考虑到这个方面。
3、可用性(Availability):意思是无论哪个服务器收到用户请求都必须做出反应。
4、一致性(Consistency):意思是数据之间必须保持一致,比如:服务器A写入了一条数据,不仅A服务器可以读取到这条消息,服务器B也可以读取到这条消息。
可用性与一致性在设计系统时只能在这之间选取一个作为目标,因为两者之间存在矛盾性:比如,当服务器A写入一条数据,而此时并不能立即把这条数据同步到服务器B中去。如果这个时候有用户访问B服务器,此时服务器B并不能读取到这条数据,此时为了保持数据的一致性,只能在数据同步到服务器B之前对服务器B的读写操作进行锁定。这时当用户访问服务器B时服务器无法对用户的请求做出反应,这是就以可用性产生了冲突。因此这两者只能根据具体的业务需求去选择实现哪个。