atomikos分布式事务_分布式事务——基于MQ解决demo

概述

一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。

分布式事务用于在分布式系统中保证不同节点之间的数据一致性。

和本地事务的本质区别:本地同一个事务使用同一个connection,而分布式事务使用多个connection。

解决方案

因为业务场景不同,没有开箱即用的解决方案。

  • 基于XA或JTA协议的方式(atomikos)
  • 异步校对:对比两个系统中的数据是否一致(根据交易流水号等对比,可以通过定时或主动请求进行数据校对);
  • 基于可靠消息(MQ);(通用性强,扩展性高)
  • TCC编程式;

无论是哪种解决方案,都要遵守CAP原则

CAP原则又称CAP定理,指的是在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)。CAP 原则指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。但由于在分布式系统中,分区容错性必然存在,所以只能在一致性和可用性妥协。
  • 基于MQ的解决方案
    • 生产者
      • 将要发送到MQ的消息先在数据表内记录一份,状态为“未发送”;
      • 接收到MQ回执的消息将状态变更为“已发送”;
      • 定时任务处理“未发送”的数据;
    • 消费者
      • 注意从MQ取到的数据进行去重;
      • 消费者消费成功后通知MQ删除数据;

ef4ba1cf1d55b2c9c90c612505e93633.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值