RabbitMQ都写了,RocketMQ怎么能不跟上脚步

本文介绍了RocketMQ的整体架构,包括Producer、Consumer、BrokerServer和NameServer的角色,以及Topic、Tag和Message Queue的基本概念。接着,讨论了RocketMQ的消息处理,如消息类型(顺序消息、延迟消息、批量消息、事务消息)、消息重试机制和死信队列。此外,还提到了RocketMQ的高可用性和高性能策略,如刷盘机制、主从复制和负载均衡。最后,提到了RocketMQ的图形化管理工具。
摘要由CSDN通过智能技术生成

整体架构

最近看到了我在Github上写的rabbitmq-examples陆续被人star了,就想着写个rocketmq-examples。对rabbitmq感兴趣的小伙伴可以看我之前的文章。下面把RocketMQ的各个特性简单介绍一下,这样在用的时候心里也更有把握

RocketMQ是阿里自研的消息中间件,RocketMQ的整体架构如下

RabbitMQ都写了,RocketMQ怎么能落下?

主要有4个角色

Producer:消息生产者。类似,发信者 Consumer:消息消费者。类似,收信者 BrokerServer:消息的存储,投递,查询。类似,邮局 NameServer:注册中心,支持Broker的动态注册与发现。类似,邮局的管理结构

再介绍几个基本概念

Topic(主题):一类消息的集合,Topic和消息是一对多的关系。每个Broker可以存储多个Topic的消息,每个Topic也可以分片存储于不同的Broker

Tag(标签):在Topic类别下的二级子类别。如财务系统的所有消息的Topic为Finance_Topic,创建订单消息的Tag为Create_Tag,关闭订单消息的Tag为Close_Tag。这样就能根据Tag消费不同的消息,当然你也可以为创建订单和关闭订单的消息各自创建一个Topic

Message Queue(消息队列):相当于Topic的分区,用于并行发送和消费消息。Message Queue在Broker上,一个Topic默认的Message Queue的数量为4

Producer Group(生产者组):同一类Producer的集合。如果发送的是事务消息且原始生产者在发送之后崩溃,Broker会联系统一生产者组内的其他生产者实例以提交或回溯消费

Consumer Group(消费者组):同一类Consumer的集合。消费者组内的实例必须订阅完全相同的Topic

Clustering(集群消费):相同Consumer Group下的每个Consumer实例平均分摊消息

Broadcasting(广播消费):相同Consumer Group的每个Consumer实例都接收全量的消息

用图演示一下Clustering和Broadcasting的区别

RabbitMQ都写了,RocketMQ怎么能落下?

如果我有一条订单程成交的消息,财务系统和物流系统都要同时订阅消费这条消息,该怎么办呢?定义2个Consumer Group即可

RabbitMQ都写了,RocketMQ怎么能落下?

Consumer1和Consumer2属于一个Consumer Group,Consumer3和Consumer4属于一个Consumer Group,消息会全量发送到这2个Consuemr Group,至于这2个Consumer Group是集群消费还是广播消费,自己定义即可

工作流程在官方文档写的很详细,不再深入了

https://github.com/apache/rocketmq/tree/master/docs/cn

RabbitMQ都写了,RocketMQ怎么能落下?

Message

消息的各种处理方式涉及到的内容较多,所以我就不在文章中放代码了,直接放GitHub了,目前还在不断完善中

地址为:https://github.com/erlieStar/rocketmq-examples,

和之前的RabbitMQ一个风格,基本上所有知识点都涉及到了

地址为:https://github.com/erlieStar/rabbitmq-example

RabbitMQ都写了,RocketMQ怎么能落下?

每个消息必须属于一个Topic。RocketMQ中每个消息具有唯一的Message Id,且可以携带具有业务标识的Key,我们可以通过Topic,Message Id或Key来查询消息

消息消费的方式

  1. Pull(拉取式消费),Consumer主动从B
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值