开发者社区 > 云效DevOps > 正文

Service Mesh 下 RocketMQ 消息的发送与消费过程是什么样的?

Service Mesh 下 RocketMQ 消息的发送与消费过程是什么样的?

展开
收起
游客kvzazfncej2yu 2021-12-16 16:06:16 635 0
1 条回答
写回答
取消 提交回答
  • 过程为:

    (1)Pilot 获取到 Topic 的路由信息并通过 xDS 的形式下发给数据平面/Envoy , Envoy 会代理 SDK 向 Broker/Nameserver 发送的所有的网络请求;

    (2)发送时,Envoy 通过 request code 判断出请求为发送,并根据 topic 和 request code 选出对应的 CDS,然后通过 Envoy 提供的负载均衡策略选出对应的 Broker 并发送,这里会使用数据平面的 subset 机制来确保选出的 Broker 是可写的;

    (3)消费时,Envoy 通过 request code 判断出请求为消费,并根据 topic 和 request code 选出对应的 CDS,然后和发送一样选出对应的 Broker 进行消费(与发送类 似,这里也会使用 subset 来确保选出的 Broker 是可读的),并记录相应的元数 据,当消息消费 SDK 发出 ACK 请求时会取出相应的元数据信息进行比对,再通 过路由来准确将 ACK 请求发往上次消费时所使用的 Broker。

    资料来源:《云原生消息队列 Apache RocketMQ》,下载链接:https://developer.aliyun.com/topic/download?id=1217。

    2021-12-21 17:38:09
    赞同 展开评论 打赏

云效,企业级一站式研发协同平台,数十万企业都在用。支持公共云、专有云和混合云多种部署形态,通过云原生新技术和研发新模式,助力创新创业和数字化转型企业快速实现研发敏捷和组织敏捷,打造“双敏”组织,实现多倍效能提升。

热门讨论

热门文章

相关电子书

更多
RocketMQ Client-GO 介绍 立即下载
RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载