CAP理论的那些事

一.什么是cap?

CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾

CAP理论的那些事

二.一致性

一致性 ( C ) :在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有 节点在同一时间的数据完全一致, 越多节点,数据同步越耗时)

CAP理论的那些事

​ 图1 订单数据库数据一致性

下面我们用下单的例子来演示数据一致性。假设某个用户下单,这时候在主库中新增一条。那么记录会实时同步到两个从库中去。所谓一致性,就是用户在下单的时候将数据写入主库。那么在从库中读出来的数据要一模一样。如果由于网络延迟,导致数据没有从主库同步到从库,那么就会导致一致性无法满足。

三.可用性

可用性(A) :负载过大后,集群整体是否还能响应客户端的读写请求。(服务一直可用,而且是正常响应时间)

CAP理论的那些事
​ 图2 订单服务可用性

某订单服务部署了两个节点,正常情况下,QPS为10ms。由于某次促销活动导致流量剧增,QPS变为100ms,比之前整整翻了10倍。但是系统还是正常工作的,所以还是可用的。我们知道HTTP请求有超时时间,如果在规定的超时时间系统还是没有正常响应,那么我们就说服务不可用了。

四. 分区容错性

分区容错性§ :分区容忍性,就是高可用性,一个节点崩了,并不影响其它的节点(100个节点, 挂了几个,不影响服务,越多机器越好)

CAP理论的那些事

五.小结

CAP理论就是说在分布式存储系统中,最多只能实现上面的两点。而由于当前的网络硬件肯定会出现延迟丢包等问题,所以分区容忍性是我们必须需要实现的。所以我们只能在一致性和可用性之间进行权衡。更多内容,参考CAP–什么是CAP,为何三者不可兼得

相关文章:

  • 2021-12-11
猜你喜欢
  • 2021-10-10
  • 2021-12-02
  • 2021-04-17
  • 2021-09-25
  • 2021-07-08
  • 2021-12-27
  • 2021-06-24
相关资源
相似解决方案