1、定义
RobustMQ 是一个 100% 用 Rust 实现的中间件消息队列领域的开源项目。它的的目标是基于Rust 打造兼容多种主流消息队列协议、具备完整 Serveless 能力的下一代高性能云原生融合型消息队列。
2、愿景
这是一个基于Apache 2.0 LICENSE 的完全开源的基础软件项目,希望探索Rust 在消息队列领域的应用,并希望推动消息队列领域的技术发展。我们致力于将RobustMQ 打造成消息队列领域下一个 Apache 顶级项目。我们还很年轻,请给我们时间成长,- – 。非常非常非常欢迎、期待期待期待感兴趣的小伙伴可以加入我们,一起学习,一起成长,一起打造一个牛逼的基础软件。
3、特点
它具备以下特点:
- 100% Rust:完全基于 Rust 语言实现的消息队列引擎。
- 多协议:支持MQTT 3.1/3.1.1/5.0、AMQP、Kafka Protocol、RocketMQ Remoting/GRPC、OpenMessing、JNS、SQS 等主流消息协议。
- 分层架构:计算、存储、调度独立的三层架构,每层均具备集群化部署,快速水平扩缩容的能力。
- 插件式存储:独立插件式的存储层实现,可根据需要选择合适的存储层。兼容传统和云原生架构,支持云、IDC 多种部署形态。
- 高内聚架构:提供内置的元数据存储组件(Placement Center)和分布式存储服务(RobustMQ Journal Server),具备快速、简单、内聚的部署能力。
- 功能丰富:支持顺序消息、死信消息、事务消息、幂等消息、延时消息等丰富的消息队列功能功能。
4、 长期规划
RobustMQ 长期希望支持多协议,并在架构上具备完整的Serverless能力。同时希望能够在适配各种不同的部署场景、部署需求的基础上,在架构上保持简单。以实现更低的部署、运维、使用成本。所以在开发角度分为几个阶段:
在第一阶段,主要会完成集群的基础框架的(比如元数据存储服务、存储适配层、自带存储层等)和MQTT协议相关的功能开发。目标是完成RobustMQ整体架构的搭建和适配MQTT协议,并在MQTT协议上实现生产可用。
在第二阶段,会启动AMQP协议相关功能的开发。
预计在前两个阶段需要较长时间的打磨,当完成前两个阶段开发后,再根据实际情况考虑适配其他的协议。
欢迎通过 Github 首页了解我们的开发进度和开发规划。
5. 欢迎加入我们
Github 项目首页有我们的微信群,Slack,Google Group 的讨论地址,欢迎点击《加入我们》。