天天看点

高并发---分布式事务

 一、2pc(two-phase commitment)

请求进来,生成全局雪花id,存本地线程变量,存request请求头部head;

消费者请求走服务1,

自己做hystrix熔断;

服务里面以标签配置事务,事务做切点的拦截,切面干事情,开启子线程,且把子线程阻塞,一旦放开阻塞走提交。请求主线程继续走,并返回结果。开启主线程,死循环检查过期事务;(locksupport,线程阻塞)

走服务2,同理走服务1的事情;

提交commit。post请求。对应的commit,触发子线程阻塞放开。

二、补偿事务

通俗,一系列事务业务操作,按序执行,其中任一步出现问题,都执行回退。这些回退操作,你自己写代码完成。就这么玩。

继续阅读