一、什么是分布式系统?
部署在不同结点上的系统通过网络交互来完成协同工作的系统。比如:充值加积分的业务,用户在充值系统向自己的账户充钱,在积分系统中自己积分相应的增加。充值系统和积
分系统是两个不同的系统,一次充值加积分的业务就需要这两个系统协同工作来完成。
二、分布式下的定理和理论
2.1. CAP定理
指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。
一致性(C)
在分布式系统中的所有数据备份,在同一时刻是否同样的值(等同于所有节点访问同一份最新的数据副本)。
由于分布式环境下要想达到一致性是个很复杂的事情,因此有一些算法来解决这种复杂的问题,如Paxos
算法、Raft
算法。
- Paxos算法
参考大神的博客:分布式系统Paxos算法 - Raft算法
参考大神的博客:分布式系统的Raft算法
分布式系统一致性动画图: