1 消息补偿机制(本地事务+消息补偿)
@transactional(rolback=Exception.class)
public function xx(){
//1发送同步消息1,2,状态待提交(提交到消息系统)
//2 本地事务方法4/5/6执行
//3发送异步消息1,2,状态提交 (提交到消息系统)
}
//异常处理
第三步失败的问题,本地事务已经执行了,通过消息系统进行 主调方的消息确认,如果本地事务已执行成功(设置标识),确认消息并发送(多次失败可进行人工处理操作)
2 Tcc全局事务控制
参考:https://github.com/changmingxie/tcc-transaction