CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。
在一个分布式系统中这三者不可兼得,因为必须保证P,而C与A相互排斥,因而在分布式系统中形成了AP与CP的体系。
为了解决单机模式的单点故障问题与读写压力问题,服务器集群配置必不可少。
客户端向缓存服务器写入数据,操作成功服务器可以先返回给客户端成功的结果,再进行与备机的数据同步,也可以在操作成功之后,向备机同步数据,等待备机同步成功之后,返回给客户端结果。
先来说第一种,如下图所示,各个节点执行操作成功之后,返回给客户端结果,但之后如果与节点的数据同步失败之后,数据就不保证一致性了,这样做的优点是能够保证可用性。
第二种,如下图所示,如果主节点宕机,在此过程中服务会进行选举,造成服务的不可用,直到新的主节点的产生,虽然会短暂造成服务的不可用,但是保证了数据的一致性。Redis哨兵模式以及ZooKeeper的实现机制都是如此。
两种方式各有优缺点。