RocketMQ 的部署架构了解吗?

参考答案

这个是 RocketMQ 的集群架构图,包含了四个主要部分:NameServer 集群、Producer 集群、Cosumer 集群、Broker 集群。

RocketMQ 的部署架构了解吗?

 

NameServer 担任路由消息的提供者。

生产者或消费者能够通过 NameServer 、查找各 Topic 相应的 Broker IP 列表,分别进行发送消息和消费消息。

nameServer 由多个无状态的节点构成,节点之间无任何信息同步。

Broker 会定期向 NameServer 以发送心跳包的方式,轮询向所有 NameServer 注册以下元数据信息:

  • Broker 的基本信息( ip port 等)
  • 主题 Topic 的地址信息
  • Broker 集群信息
  • 存活的 Broker 信息
  • filter 过滤器

也就是说,每个 NameServer 注册的信息都是一样的,而且是当前系统中的所有 broker 的元数据信息。

  • Producer 负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息、发送到 Broker 服务器。
  • RocketMQ 提供多种发送方式(同步发送、异步发送、顺序发送、单向发送),同步和异步方式均需要 Broker 返回确认信息,单向发送不需要 Broker。
  • 消息中转角色负责存储消息、转发消息,在 RocketMQ 系统中,负责接收并存储从生产者发送来的消息,同时为消费者的拉取请求作准备。
  • Consumer 负责消费消息,一般是后台系统负责异步消费。一个消息消费者会从 Broker 服务器拉取消息、并将其提供给应用程序。从用户应用的角度而言提供了两种消费形式:拉取式消费、推动式消费。

 

以上,是消息队列 RocketMQ 面试题【RocketMQ 的部署架构】的参考答案。

输出,是最好的学习方法

欢迎在评论区留下你的问题、笔记或知识点补充~

—end—

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧