第一章 RocketMQ基础知识

RocketMQ

第一章 RocketMQ基础知识
第二章 搭建RocketMQ (单机)
第三章 搭建RocketMQ (集群)



一、RocketMQ是什么?

RocketMQ 是一款开源的分布式消息系统,基于高可用分布式集群技术,提供低延时的、高可靠的消息发布与订阅服务。同时,广泛应用于多个领域,包括异步通信解耦、企业解决方案、金融支付、电信、电子商务、快递物流、广告营销、社交、即时通信、移动应用、手游、视频、物联网、车联网等。

二、几个概念

1.Producer

消息生产者,生产者的作用就是将消息发送到 MQ,生产者本身既可以产生消息,如读取文本信息等。也可以对外提供接口,由外部应用来调用接口,再由生产者将收到的消息发送到 MQ。

2.Producer Group

消息生产者组,简单来说就是多个发送同一类消息的生产者称之为一个生产者组。在这里可以不用关心,只要知道有这么一个概念即可,Producer实例可以是多机器、单机器多进程、单进程中的多对象。Producer可以发送多个Topic。处理分布式事务时,也需要Producer集群提高可靠性。

3.Consumer

消息消费者,简单来说,消费 MQ 上的消息的应用程序就是消费者,至于消息是否进行逻辑处理,还是直接存储到数据库等取决于业务需要。

4.Consumer Group

消息消费者组,和生产者类似,消费同一类消息的多个 consumer 实例组成一个消费者组.Consumer实例 的集合。Consumer 实例可以是多机器、但机器多进程、单进程中的多对象。同一个Group中的实例,在集群模式下,以均摊的方式消费;在广播模式下,每个实例都全部消费。

5.Topic

Topic 是一种消息的逻辑分类,比如说你有订单类的消息,也有库存类的消息,那么就需要进行分类,一个是订单 Topic 存放订单相关的消息,一个是库存 Topic 存储库存相关的消息

6.Broker Server

Broker 是 RocketMQ 系统的主要角色,其实就是前面一直说的 MQ。Broker 接收来自生产者的消息,储存以及为消费者拉取消息的请求做好准备。

7.Name Server

Name Server 为 producer 和 consumer 提供路由信息。

8.Tag

标签可以被认为是对 Topic 进一步细化。一般在相同业务模块中通过引入标签来标记不同用途的消息。

9.Message

Message 是消息的载体。一个 Message 必须指定 topic,相当于寄信的地址。Message 还有一个可选的 tag 设置,以便消费端可以基于 tag 进行过滤消息。也可以添加额外的键值对,例如你需要一个业务 key 来查找 broker 上的消息,方便在开发过程中诊断问题。

三、交互逻辑

客户端,包括生产者、消费者。	无论是生产者还是消费者,在启动时都需要指定一个或多个namesrv地址。客户端启动后,会以30秒一次的频率执行心跳注册以及路由更新动作。
心跳注册:向所有master broker发送心跳信息(broker的信息来源在下面的路由更新中会介绍),包括消费订阅信息、生产者信息,broker在收到心跳信息后,会将信息提取并保存到内存中
路由更新:从namesrv列表中随机选取一个,与之建立连接(并将连接保持,后续以此连接为准,直到连接不可用,才会换成另一个namesrv进行连接)。从建立连接的namesrv上拉取所有topic的路由信息,主要包括broker的addr,topic对应的queue信息(也就是在前面一篇"nameserver与broker的交互"中提到的路由信息),会根据返回的queueData中的写队列数(writeNums)创建对应数量的queue,每个queue对应一个queueId,与broker端的queue对应。

四、常用命令行

cd /rocketmq-4.9.3/bin
1.查看消费者组情况
sh mqadmin consumerProgress -n localhost:9876
sh mqadmin consumerProgress -g comsumerName -n localhost:9876
3.查看topic情况
sh mqadmin topicStatus -t topic_test -n localhost:9876
sh mqadmin topiclist -n localhost:9876
4. 查看topic详细情况,包括消费组
sh mqadmin statsAll -t topic_test -n localhost:9876
sh mqadmin statsAll -a -n localhost:9876
5.删除topic
sh mqadmin deleteTopic -c DefaultCluster -t topic_test_new -n localhost:9876


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yawpei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值