简述RocketMQ 整体架构 ?
参考答案:
RocketMQ是一个分布式消息中间件,其整体架构包括四个主要组成部分:Producer(消息生产者)、Consumer(消息消费者)、Broker(MQ服务)和NameServer(名字服务)。
- Producer(消息生产者):负责发布消息到Broker。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,这个过程支持快速失败并且低延迟。
- Consumer(消息消费者):负责消费消息。Consumer支持以push(推)和pull(拉)两种模式对消息进行消费。一个Topic可以被0个、1个或多个消费者订阅。
- Broker(MQ服务):负责接收、存储和转发消息。Broker在RocketMQ中充当了“邮局”的角色,负责暂存和传输消息。
- NameServer(名字服务):是一个简单的Topic路由注册中心,类似于Dubbo中的zookeeper,支持Broker的动态注册与发现。NameServer保存了Topic和Broker之间的关系,并提供了路由查询服务。
这四个部分共同协作,使得RocketMQ能够实现高效、可靠的消息传递。在实际部署中,通常会将Broker和NameServer进行集群部署,以提高系统的可用性和稳定性。