• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

reliable-message: 分布式事务解决方案之基于可靠消息的最终一致性方案。 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

reliable-message

开源软件地址:

https://gitee.com/NuLiing/reliable-message

开源软件介绍:


介绍

RMQ(reliable-message-queue)是基于可靠消息的最终一致性的分布式事务解决方案。

如果感觉有帮助,帮忙点个star!

中文文档

RMQ对接示例:

框架定位

  • RMQ本身不生产消息队列,只是消息的搬运工。
  • RMQ框架提供消息预发送、消息发送、消息确认、消息恢复、消息管理等功能,结合成熟的消息中间件,解决分布式事务,达到数据最终一致性。

Maven模块描述

模块名称描述
rmq-api提供业务系统调用的RMQ服务接口
rmq-service-api基础消息服务接口、系统工具类、实体类封装
rmq-serviceRMQ服务接口实现、基础消息服务接口实现、消息管理子系统服务接口实现
rmq-schedule-api消息确认子系统、消息恢复子系统服务接口
rmq-schedule消息确认子系统,与上游业务系统确认消息是否发送
消息恢复子系统,重新发送消息给下游业务
rmq-cms-api消息管理子系统服务接口、实体类封装
rmq-cms消息管理子系统,提供消息管理后台
rmq-dal数据库访问层: sql语句

业务系统对接RMQ

详细对接说明请查看《快速入门》和《对接示例说明

maven依赖

在业务系统的pom文件中引入rmq-api最新版本依赖:

# 中央仓库: https://search.maven.org/search?q=rmq-api<dependency>  <groupId>com.gitee.nuliing</groupId>  <artifactId>rmq-api</artifactId>  <version>${最新稳定版本}</version></dependency>

在业务代码中引入RMQ的Dubbo服务

import org.apache.dubbo.config.annotation.Reference;import com.cn.rmq.api.service.IRmqService;@Referenceprivate IRmqService rmqService;

编写消息发送方业务方法

public void doBusiness() {        // 自定义消息队列名称        String queue = "test.queue";        // 消息内容, 如果传输对象,建议转换成json字符串        String messageContent = "......";        // 调用RMQ,预发送消息        String messageId = rmqService.createPreMessage(queue, messageContent);        // 执行业务        ...        ...        // 异步调用RMQ,确认发送消息        RpcContext.getContext().asyncCall(() -> rmqService.confirmAndSendMessage(messageId));    }

编写消息消费方业务方法

public void handleMsg(RmqMessage msg) {        try {            String messageContent = msg.getMessageBody();            // 执行业务            ...            ...            // 通知RMQ消息消费成功            // 如果使用的是RMQ的directSendMessage,则无需通知            if (StringUtils.isNotBlank(msg.getMessageId())) {                rmqService.deleteMessageById(msg.getMessageId());            }        } catch (Exception e) {            ...        }    }

更多分布式事务框架

框架描述状态
cn-rmq基于可靠消息的最终一致性方案已发布
cn-ben最大努力通知方案已发布

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap