结合实际应用场景谈消息发送

举报
丁威 发表于 2021/04/20 00:58:35 2021/04/20
【摘要】 本篇将开始结合各种使用场景,运用合适的 API 解决具体的实际问题。 消息发送方式 RocketMQ 支持同步、异步、Oneway 三种发送方式。 同步:客户端发起一次消息发送后会同步等待服务器的响应结果。 异步:客户端发起一下消息发起请求后不等待服务器响应结果而是立即返回,这样不会阻塞客户端子线程,当客户端收到服务端(Broker)的响应结果后会自动调用回调函数...

本篇将开始结合各种使用场景,运用合适的 API 解决具体的实际问题。

消息发送方式

RocketMQ 支持同步、异步、Oneway 三种发送方式。

  • 同步:客户端发起一次消息发送后会同步等待服务器的响应结果。
  • 异步:客户端发起一下消息发起请求后不等待服务器响应结果而是立即返回,这样不会阻塞客户端子线程,当客户端收到服务端(Broker)的响应结果后会自动调用回调函数。
  • Oneway:客户端发起消息发送请求后并不会等待服务器的响应结果,也不会调用回调函数,即不关心消息的最终发送结果。

下面首先用 Demo 演示一下异步消息发送模式。


  
  1. public static void main(String[] args) throws Exception{
  2. DefaultMQProducer producer = new DefaultMQProducer("testProducerGroup");
  3. producer.setNamesrvAddr("192.168.3.10:9876");
  4. try {
  5. producer.start();
  6. //发送单条消息
  7. Message msg = new Message("TOPIC_TEST", "hello rocketmq".getBytes());
  8. producer.send(msg, new SendCallback() {
  9. // 消息发送成功回调函数
  10. public void onSuccess(SendResult sendResult) {
  11. System.out.printf(&#

文章来源: blog.csdn.net,作者:中间件兴趣圈,版权归原作者所有,如需转载,请联系作者。

原文链接:blog.csdn.net/prestigeding/article/details/109335876

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。