内容简介:RMQ(reliable-message-queue)是基于可靠消息的分布式事务解决方案。 中文文档 中文文档地址:https://www.showdoc.cc/rmq RMQ对接示例: https://gitee.com/NuLiing/reliable-message-samples https://github....
RMQ(reliable-message-queue)是基于可靠消息的分布式事务解决方案。
中文文档
- 中文文档地址:https://www.showdoc.cc/rmq
RMQ对接示例:
- https://gitee.com/NuLiing/reliable-message-samples
- https://github.com/a327919006/reliable-message-samples
框架定位
- RMQ本身不生产消息队列,只是消息的搬运工。
- RMQ框架提供消息预发送、消息发送、消息确认、消息恢复、消息管理等功能,结合成熟的消息中间件,解决分布式事务,达到数据最终一致性。
业务系统对接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; @Reference private 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) {
...
}
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 分布式事务:消息可靠发送
- 分布式事务:基于可靠消息服务
- 基于可靠消息方案的分布式事务:Lottor使用
- Apache Hadoop(3)---可靠的分布式存储HDFS
- 如何做可靠的分布式锁,Redlock真的可行么
- 【MDCC 2016】Erlang之父Joe Armstrong:如何设计高可靠的分布式并行系统
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
我用微软改变世界
保罗·艾伦 / 吴果锦 / 浙江人民出版社 / 2012-3 / 46.00元
《我用微软改变世界(微软联合创始人保罗•艾伦回忆录)》内容简介:1975年,两个从大学退学的男孩夜以继日地设计一款软件。其中一个男孩就是后来的世界首富比尔盖茨,而另外一个则作为盖茨背后的男人,一直生活在盖茨的阴影里,其实,他的人生经历远比盖茨更为传奇和丰富。 16岁,与比尔盖茨在顶级名校湖畔中学相遇,成为最佳拍档,无数趣事,无数闹腾,高呼“处男万岁”还不够,还得意扬扬把这话刻在碑上留给学弟们......一起来看看 《我用微软改变世界》 这本书的介绍吧!