这是我参与「第五届青训营 」笔记创作活动的第16天
一、本堂课重点知识
- 消息队列 —— BMQ
- 消息队列 —— Rocket MQ
二、详细知识点介绍
3. 消息队列 —— BMQ
Byte MQ 简称 BMQ
3.1 BMQ 简介
兼容 Kafka 协议,存算分离,云原生消息队列,初期定位是承接高吞吐的离线业务场景,逐步替换掉对应的 Kafka 集群。
BMQ 架构图:
Producer -> Consumer -> Proxy -> Broker -> HDFS -> Controller -> Coordinator -> Meta
Proxy 和 Broker 无状态,存算分离,适配 Kafka 协议,不选择 Pulsar
3.2 运维操作对比
| 具体操作 | Kafka | BMQ |
|---|---|---|
| 重启 | 需要数据复制,分钟级重启 | 重启后可直接对外服务,秒级完成 |
| 替换 | 需要数据复制,分钟级替换,甚至天级别 | 替换后可直接对外服务,秒级完成 |
| 扩容 | 需要数据复制,分钟级扩容,甚至天级别 | 扩容后可直接对外服务,秒级完成 |
| 缩容 | 需要数据复制,分钟级缩容,甚至天级别 | 缩容后可直接对外服务,秒级完成 |
实际上对于所有节点变更的操作,仅仅只是集群元数据的变化,通常情况下都能秒级完成,而真正的数据已经移到下层分布式文件存储去了,所以运维操作不需要额外关心数据复制所带来的时间成本