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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 25岁的心里话