分布式/微服务---第四篇

系列文章目录


文章目录

  • 系列文章目录
  • 一、分布式事务解决方案
  • 二、如何实现接口的幂等性


一、分布式事务解决方案

XA规范:分布式事务规范,定义了分布式事务模型
四个角色:事务管理器(协调者TM)、资源管理器(参与者RM),应用程序AP,通信资源管理器CRM
全局事务:一个横跨多个数据库的事务,要么全部提交、要么全部回滚
JTA事务时java对XA规范的实现,对应JDBC的单库事务
两阶段协议:
分布式/微服务---第四篇_第1张图片
第一阶段( prepare ) :每个参与者执行本地事务但不提交,进入 ready 状态,并通知协调者已经准
备就绪。
setnx
问题:
1、早期版本没有超时参数,需要单独设置,存在死锁问题(中途宕机)
2、后期版本提供加锁与设置时间原子操作,但是存在任务超时,锁自动释放,导致并发问题,加锁与释
放锁不是同一线程问题
第二阶段( commit ) 当协调者确认每个参与者都 ready 后,通知参与者进行 commit 操作;如果有

你可能感兴趣的:(分布式,微服务,架构)