分布式消息中间件RocketMQ原理解析与集群模式实战

最近的项目开发中涉及到支付业务的模块需要用到MQ进行业务解耦以及把用户请求量削峰填谷,提高系统的可用性和可靠性,我们选择了RocketMQ来部署消息中间件集群,我也在此回顾和归纳下RocketMQ的相关知识。

什么是RocketMQ

阿里开源的分布式消息中间件,单机就能支持千万级的消息堆积,集群模式能满足海量消息堆积的场景

RocketMQ的特点

支持发布/订阅(Pub/Sub)和点对点(P2P)消息模型

在一个队列中可靠的先进先出(FIFO)和严格的顺序传递

支持拉(pull)和推(push)两种消息模式

单一队列百万消息的堆积能力

支持多种消息协议,如 JMS、MQTT 等

分布式高可用的部署架构,满足至少一次消息传递语义

提供 docker 镜像用于隔离测试和云集群部署

提供配置、指标和监控等功能丰富的 Dashboard

核心机制与原理

RocketMQ底层基于队列模型来实现消息收发功能。RocketMQ集群中包含4个模块:Namesrv, Broker, Producer, Consumer。

Namesrv: 存储当前集群所有Brokers信息、Topic跟Broker的对应关系。

Broker: 集群最核心模块,主要负责Topic消息存储、消费者的消费位点管理(消费进度)。

Producer: 消息生产者,每个生产者都有一个ID(编号),多个生产者实例可以共用同一个ID。同一个ID下所有实例组成一个生产者集群。

Consumer: 消息消费者,每个订阅者也有一个I

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值