RocketMQ(3) -- RocketMQ的系统架构

本文介绍了RocketMQ的系统架构,主要包括Producer、Consumer、Name Server和Broker四个部分。Producer负责消息生产,Consumer负责消息消费,Name Server作为注册中心,管理Broker集群的路由信息,而Broker作为消息中转,存储和转发消息。RocketMQ的消费者组和生产者组实现了负载均衡和容错。Name Server无状态设计简化了集群搭建,但扩容需谨慎。Broker通过主从复制保障数据安全,Producer和Consumer通过Name Server获取路由信息进行消息交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

分布式消息队列RocketMQ

二、 RocketMQ的安装与启动

2.2)RocketMQ的系统架构

 RocketMQ架构上主要分为四部分构成:

2.2.1)Producer

消息生产者,负责生产消息。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。

例如,业务系统产生的日志写入到MQ的过程,就是消息生产的过程;

再如,电商平台中用户提交的秒杀请求写入到MQ的过程,就是消息生产的过程

RocketMQ中的消息生产者都是以生产者组(Producer Group)的形式出现的,生产者组是同一类生产者的集合,这类Producer发送相同Topic类型的消息,一个生产者组可以同时发送多个主题的消息。

2.2.2)Consumer

消息消费者,负责消费消息。一个消息消费者会从Broker服务器中获取到消息,并对消息进行相关业务处理。

例如,QoS系统从MQ中读取日志,并对日志进行解析处理的过程就是消息消费的过程。 再如,电商平台的业务系统从MQ中读取到秒杀请求,并对请求进行处理的过程就是消息消费的 过程。

RocketMQ中的消息消费者都是以消费者组(Consumer Group)的形式出现的,消费者组是同一类消费者的集合,这类Consumer消费的是同一个Topic类型的消息。

消费者组使得在消息消费方面,实现负载均衡(将一个Topic中的不同的Queue平均分配给同一个Consumer Group的不同的Consumer,注意,并不是将消息负载均衡)和容错(一个Consmer挂了,该Consumer Group中的其它Consumer可以接着消费原Consumer消费的Queue)的目标变得非常容易。

 消费者组中Consumer的数量应该小于等于订阅Topic的Queue数量,如果超出Queue数量,则多出的 Consumer将不能消费消息。

 不过,一个Topic类型的消息可以被多个消费者组同时消费。

1)消费者组只能消费一个Topic的消息,不能同时消费多个Topic消息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值