分布式事务实现模式与技术
2021-03-08 本文已影响0人
文刀雨
实现模式
- 消息驱动模式:Message Driven
- 事件溯源模式: Event Sourcing
- TCC模式: Try-Confirm-Cancel
幂等性
- 幂等操作:任意多次执行所产生的影响,与一次执行的影响相同
- 方法的幂等性:使用同样的参数调用一个方法多次,与调用一次结果相同
- 接口的幂等性: 接口被重复调用,结果一致
微服务接口的幂等性 - 重要性: 经常需要通过重试实现分布式事务的最终一致性
- get方法不会对系统产生副作用,具有幂等性
- post,put,delete方法的实现需要满足幂等性
分布式系统唯一性ID:GUID
- 分布式系统的全局唯一标识
- UUID:生成唯一ID的规范
- 用于唯一标识,处理重复消息
分布式系统唯一性ID生成 - 数据库自增序列
- UUID:唯一ID标准,128位,几种版本
- MongoDB的ObjectID:时间戳+机器ID+进程ID+序号
- Redis的INCR操作、Zookeeeper节点的版本号
使用何种方式
- 自增的Id:考虑安全性、部署
- 时间有序:便于通过ID判断创建时间
- 长度、是否数字类型:是否建索引
分布式系统分布式对象
- Redis:Redisson库:RLock,RMap,RQueue等对象
- Zookeeper:Netflix Curator库:Lock,Queue等对象