rabbit_mq实现分布式事务

Posted 0ziyu0

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbit_mq实现分布式事务相关的知识,希望对你有一定的参考价值。

gitlab下载地址:

一、rabbitmq实现原理

  1. 一般在自己内部系统中建议采用lcn刚性事务来处理,面对调用第三方接口,或者夸平台语言是采用消息中间来实现补偿型事务。注意在进行补偿时需要注意重复调用问题(解决幂等性问题)。
  2. 在项目中对于消费者获取到消息后,如果抛出异常的情况下是不需要重试机制的。一般建议添加定时任务对数据库中的数据做健康检查。
  3. 在解决幂等性问题建议用数据库中不重复的逻辑主键来判断(推荐使用),或者使用全局的MessageID来判断。
  4. 注意:rabbitmq采用的是最终一致性来解决分布式事务。

二、使用MessageID区分消息

  在请求头中传入MessageId标注唯一性

未完待续。。。预计在2019-4-04-17晚上更新完毕

以上是关于rabbit_mq实现分布式事务的主要内容,如果未能解决你的问题,请参考以下文章

REST微服务的分布式事务实现-分布式系统事务以及JTA介绍

kafka实现分布式事务

分布式事务及其实现方案

分布式事务及其实现方案

利用事务消息实现分布式事务

从本地事务到分布式事务到微服务下事务