RocketMQ设计架构以及工作流程

Posted 爱叨叨的程序狗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RocketMQ设计架构以及工作流程相关的知识,希望对你有一定的参考价值。

RocketMQ架构图

消息生产者

发送消息方式:

  • 同步发送,消息发送至Broker后,需得到Broker的成功响应后才可进行下一个数据包发送。常用于重要消息业务场景,如通知邮件、营销短信等。
  • 异步发送,消息发送至Broker后,响应以异步方式返回,无需得到成功响应信息即可进行下一个数据包发送,失败后会进行重试发送、持久化信息,常用于对响应时间敏感场景,如批量发货等。
  • 单向发送,仅发送消息,并不关注发送结果的场景,失败后消息丢失。常用于对可靠性要求不高的场景,如日志收集。

消息消费类型

  • 集群消费:消息仅被消费一次,消息重投不保证消费到同一台服务上。
  • 广播消费:每条消息需要被集群下的每个消费者处理。

消息消费方式

  • Pull模式:拉取待消费列表消息
  • Push模式:基于Pull模式封装,线程拉取拉取到消息后,提交到消息消费线程池,再次向服务器尝试拉取消息。

Consumer负载均衡

//todo:未完待续

以上是关于RocketMQ设计架构以及工作流程的主要内容,如果未能解决你的问题,请参考以下文章

rocketMq简介以及和kafka对比

RocketMQ的基本的架构原理

rocketMQ 架构设计

Apache RocketMQ背后的设计思路与最佳实践

10分钟弄懂 rocketMQ 架构设计

RocketMQ源码(11)—Broker asyncPutMessage处理消息以及存储的高性能设计一万字