Daily Study
更新: 5/26/2025 字数: 0 字 时长: 0 分钟
Daily Plan
#todo
分布式相关
#暑期实习
分布式一致性
定义:在分布式网络中,多个节点对同一份数据的读写操作最终达成一致的状态的能力,核心目标是确保系统存在网络延迟,节点故障等异常,仍能对外提供可靠的数据视图。
三种一致性模型:
模型类型 | 特点 | 典型场景 |
---|---|---|
强一致性 | 所有节点实时同步,操作全局有序(如线性一致性) | 金融交易、订单系统 |
最终一致性 | 允许短暂不一致,但最终收敛(如因果一致性、会话一致性) | 社交动态、缓存系统 |
顺序一致性 | 操作全局有序,但允许延迟(如Spanner的TrueTime机制) | 分布式数据库、日志系统 |
CAP定理:在一个分布式系统(指互相连接并共享数据的节点的集合)中,当涉及读写操作时,只能保证一致性(Consistence)、可用性(Availability)、分区容错性(Partition Tolerance)三者中的两个,另外一个必须被牺牲 |
选择策略:
- 金融系统:牺牲可用性(CP系统),确保强一致性。
- 社交平台:牺牲强一致性(AP系统),优先保证可用性
Raft有三个角色:领导者、跟随者,候选人,核心原理:
- 领导选举:通过心跳机制判断是否超时,候选者需要获取一半以上的票数,并且日志要是最新的
- 日志复制:通过日志匹配属性,确保日志条目在相同索引和任期下内容一致。在超过半数节点复制标记后,才会应用到应用机上
- 安全性约束:新的领导者必须包含所有已提交的日志,每个任期唯一递增。