一、分布式事务
分布式系统经常出现机器宕机、网络异常、消息丢失、消息乱序、数据错误、不可靠的TCP、存储数据丢失的问题,分布式事务也就应用而生
二、CAP 定理与 BASE 理论
1、CAP定理
CAP 原则又称 CAP 定理,指的是在一个分布式系统中
-
一致性(Consistency):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(所有节点访问同一份最新的数据副本)
-
可用性(Availability):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备搞可用性)
-
分区容错性(Partition tolerance):大多数分布式系统都分布在多个子网络。每个子网络就叫一个区(partition)。分区容错的意思是,区间通信可能失败。比如,一台服务器放在中国,另一台服务器放在美国,这就是两个区,它们之间可能无法通信
-
CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。一般来说,分区容错无法避免,因此可以认为 CAP 的 P 总是成立。CAP 定理告诉我们剩下的 C 和 A 无法同时做到。
1、AP 可用性
对于大多数大型互联网应用的场景,主机众多、部署分散,而且现在的集群规模越来越大,所以节点故障、网络故障是常态,而且要保证服务可用性达到99.999%,即保证 P 和 A,舍弃 C。
三、BASE 理论
是对 CAP 理论的延伸,思想是即使无法做到强一致性(CAP的一致性就是强一致性),但可以适当的采取弱一致性,即最终一致性。
-
基本可用(Basically Available):基本可用是指分布式系统在出现故障的时候,允许损失部分可用性(例如响应时间、功能上的可用性),允许损失部分可用性。需要注意的是,基本可用绝不等价于系统不可用。
- 响应时间上的损失:正常情况下搜索引擎需要在0.5s之内返回给用户响应的查询结果,但由于出现故障(比如系统部分机房发送断点或断网故障),查询结果的响应时间增加到了 1~2s。
- 功能上的损失:购物网站在购物高峰(如双十一)时,为了保护系统的稳定性,部分消费者可能会被引导到一个降级页面。
-
软状态(Soft State):软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据会有多个副本,允许不同副本同步的延时就是软状态的体现。MySQL replication 的异步赋值也是一种体现。
-
最终一致性:最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。弱一致性和强一致性相反,最终一致性是弱一致性的一种特殊情况。
网友评论