RocketMq(一) -- 基础

各个mq比较

ActiveMq和RabbitMq单机吞吐量是万级的,RocketMq和kafka是十万级。ActiveMq可能丢失数据,RocketMq可以做到零丢失。

 

RocketMq四个核心组成部分

NameService: Broker和Topic的注册中心, 10s检查Broker的心跳,如果120s没有心跳就把broker从心跳剔除。

Broker:接收生产者生产的消息、给消费者消费,Master即可以读也可以写,Slave只能读不能写。 30s发送心跳给NameService

Producer: 生产消息

Consumer:消费消息

 

RocketMq基本概念

分组group:由producer和cunsumer两部分组成

producer: 生产消息,主要作用于事务消息,如果当前事务消息中有一条处于等待但已经超时,broker就会查同个group 下其他的producer,看这个消息是提交了还是回滚了

consumer:消费消息,消息A被consumer1消费了还会被consumer2消费

主体Topic:区分消息的种类,标识一类消息的名称

消息队列Queue:用于发送和接收消息,一个topic会有多个queue

标签tag: 生产者发送消息给topic时用于区分不同的消息

偏移量offset:queue一般是个数组,offset就是数组的下标就是偏移量

 

Rocketmq执行流程

1.启动NameService , 监听端口等待producer、consumer、broker连接。

2.启动broker, 注册NameService 并定时发送心跳。

3. producer和NameService建立长连接, 从注册表中获取指定的broker和queue,和broker建立长连接,向queue发送信息。

4. consumer和NameService建立长连接,获取注册表中的broker、topic、queue,并与broker建立长连接,接受消息。consumer每隔30s会向broker发送心跳。

 

 

 

参考:https://baijiahao.baidu.com/s?id=1740645985103393739

      https://lhz1219.blog.csdn.net/article/details/122815231

posted on 2022-12-28 13:58  周公  阅读(27)  评论(0编辑  收藏  举报

导航