分布式概念
CAP
- Consistency 一致性 -- 强一致,所有节点同时看到的数据相同,但可能会导致等待拥堵挂死
- Auailability 可用性 -- 服务可用,任何时候,读写都过时成功的,4个9的SLA
-
Partition Tolerance 分区容错 -- 分布式,部分节点或网络分区不可用时,仍对外提供服务
image.png
只能保证两个,一般是CP(zookeeper)和AP(eureka)
分布式算法
Paxos算法
image.png有提案者,批准者、学习者三种角色,一个节点可以同时充当这三种角色。
提案者提出修改value->超过一半的批准者同意->提案通过,学习者同步
分布式选举算法
- raft 半数投票当选leader
- Bully,选取ID最大的节点作为主节点
- Zab Zookeeper AtomicBroadcast -- Zookeeper原子广播协议,ID最大或数据最新作为leader
分布式ID
- 雪花算法
- 数据库自增主键
分布式锁
场景: 在分布式、集群的场景下需要对定时任务做唯一管理、还有库存超卖等问题。
其实只要是唯一的,就能进行分布式锁,甚至是MySQL、MongoDB。
- redis
- zookeeper
分布式事务
2PC(两段式提交),3PC(三阶段提交)、TCC(分段提交)、XA标准
- seata 全局事务对分支事务两阶段提交协议
- LCN
- RocketMQ 事务消息
- saga机制
分布式缓存
- redis
分布式数据库
- mycat
- shardingjdbc
分布式链路追踪
- zipkin
- pinpoint
- SkyWalking
网友评论