SpringBoot集成RocketMQ实现各种消息类型

使用RocketMQ有两种方式,一种是引入rocketmq-client需要自己创建生产者和消费者,相对来说比较繁琐;另一种是引入rocketmq-spring-boot-starter(对rocketmq-client进行了封装),发消息和消费消息都比较简洁。

这里采用的集成方式是rocketmq-spring-boot-starter

一、RocketMQ的消息类型

RocketMQ的消息发送和接收都是有个比较固定的步骤的,大致如下:

在这里插入图片描述
RocketMQ的消息类型有:

1.消息的发送和接收方式

普通消息的发送方式有3种:单向发送、同步发送和异步发送

生产者消息发送时有三种形式:
(1)单向发送

单向发送使用producer.sendOneWay方式来发送消息,这个方法没有返回值,也没有回调

单向发送是指发送方只负责发送消息,不等待服务器回应且没有回调函数触发,即只发送请求不等待应答

使用场景:对数据的可靠性要求不高,丢失了也没关系,如日志收集这种场景,可以采用这种方式发送消息,这种消息发送方式是速度最快的

(2)同步发送

producer发送时会同步等待broker返回一个发送状态。如果失败会重试。吞吐量最低,但安全

同步发送是指消息发送方发出数据后,会在收到接收方发回响应之后才发下一个数据包的通讯方式
使用场景重要通知邮件、报名短信通知、营销短信系统等都可以使用这种方式

(3)异步发送

producer在发送后去做自己的事情,异步接受broker的回调结果,比较有趣的地方就是引入了一个countDownLatch来保证所有消息回调方法都执行完了再关闭Producer

异步发送是指发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式

发送方通过回调接口接收服务器响应,并对响应结果进行处理。 异步发送一般用于链路耗时较长,对RT响应时间较为敏感的业务场景,例如用户视频上传后通知启动转码服务,转码完成后通知推送转码结果等,说白了,这种方式如果用的适当,可以提高系统响应速度,提高用户体验

总结:
单向发送

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值