RocketMQ5.0 特性概要

177 阅读1分钟

概要

消息队列成为了各种应用的重要基础设施,它恰好处于灵活和定制的中间状态,使得mq可以衍生出多个场景的用途。但是,开源的语言通用的消息中间件并不多,rocketmq基于Java,是非常成熟并值得学习的开源项目。

特性

3.0去除zookeeper

不依赖zookeeper是大势所趋,rocketmq自己管理元数据。

4.0新增raft多副本

使用raft有利有弊,需要了解细节。

5.0:为了云原生

云原生的一个前提是组件尽可能无状态,不用的资源进行分离,可以做到独立拓展。

无状态proxy

protobuf统一客户端

过去,客户端需要做一些状态逻辑,这就导致每种客户端都要实现这个逻辑,为了支持更多语言客户端,需要把状态逻辑转移到服务端(pop消费),并且使用通用的序列化协议protobuf。

存算分离:namesrv和broker

存算分离是云原生存储的趋势,但是如何兼顾传统运维的存算一体,以及存算分离适不适合消息队列场景,还需要讨论。

rocketmq-streams:流+mq

流计算是大趋势,如何更好地配合流计算,是mq的重要实践领域。

rocketmq-eventbridge: 事件驱动

虽然事件驱动架构需要重写代码,但可能是未来的云应用趋势,通过开源尽早进行了布局。

边缘计算:微消息队列 MQTT

适应边缘计算环境,云边协同。

参考

pop

infoq