RocketMQ(ons) 利用集群方式实现广播消费

  • 多个consumerId订阅同一个topic实现广播消费

    1. 前言:解耦的过程中遇到两个服务互相调用的业务场景,就想到使用ons消息解耦。然后两个服务使用相同的 consumer id 监听同一个 topic + 不同的 tag,结果出现了消息发送成功,却没有被消费。查询原因是订阅关系不一致。
    2. 产生原因:订阅关系不一致
      在不同的 JVM 中启动了多个 Consumer,并且给相同的 Consumer ID 配置了不同的 Topic,或者是相同的 Topic 但 Tag 不同,最终导致订阅关系不一致,消息不符合预期。
    3. 解决:使用不同的 consumer id 订阅同一个topic,两个服务都能监听到所有的消息,然后根据tag进行业务处理


      多个consumer id.png
  • 发送消息的三种方式

    1. 可靠同步发送
      原理:同步发送是指消息发送方发出数据后,会在收到接收方发回响应之后才发出下一个数据包的通讯方式
    2. 可靠异步发送
      原理:异步发送是指发送方发出数据后,不等接收方发回响应,接着发送下个数据包的通讯方式。发送方通过回调接口接收服务器响应,并对响应进行处理
    3. 单向发送
      原理:单向发送特点为发送方只负责发送消息,不等待服务器回应且没有回调函数触发,即只发送请求不等待应答。发送消息的过程耗时非常短。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 姓名:周小蓬 16019110037 转载自:http://blog.csdn.net/YChenFeng/art...
    aeytifiw阅读 34,752评论 13 425
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,987评论 19 139
  • Kafka入门经典教程-Kafka-about云开发 http://www.aboutyun.com/threa...
    葡萄喃喃呓语阅读 10,880评论 4 54
  • 眼看着假期就要结束了,可是计划无一预期完成,无论是对自己的还是孩子的,真是对自己很失望,我要从现在开始,打败惰性,...
    YMLJY阅读 130评论 0 0
  • 我总在生命欢畅的时刻,听见死亡的声音。对那些弱小的生命,满怀悲悯。 1、 二十五年前,我七岁。 夏日某天,我和儿时...
    步归途阅读 468评论 0 1