We are rewriting the message queue in Rust and would like to hear your suggestions.
Hi, Community:
We are a group of developers who love Rust, message queues, and distributed storage. We are trying to write a message queue using Rust. Its name is: RobustMQ. It follows the Apache-2.0 license. We hope that it can eventually be contributed to the Apache community and become a top project of the Apache community, contributing our own share of strength to the Apache and Rust communities.
Some information about RobustMQ:
- Original intention: To explore the possibility of combining Rust with message queues, and solve the existing problems of the message queue components in the current community.
- Positioning: An All In One open-source message queue developed 100% based on the Rust language.
- Goal: To deliver a message queue that supports multiple mainstream messaging protocols, has a completely Serverless architecture, is low-cost, and elastic.
- Features:
- 100% Rust: A message queue engine implemented entirely based on the Rust language.
- Multiple protocols: Supports MQTT 3.1/3.1.1/5.0, AMQP, Kafka Protocol, RocketMQ Remoting/GRPC, OpenMessing, JNS, SQS, etc., the mainstream messaging protocols.
- Hierarchical architecture: A three-layer architecture with completely independent computing, storage, and scheduling, with clear responsibilities and independence.
- Serverless: All components have distributed cluster deployment capabilities and the ability to quickly scale up and down.
- Plugin-based storage: An independent plugin-based storage layer implementation, supporting both independent deployment and shared storage architectures.
- Comprehensive functions: Fully aligns with the functions and capabilities of the mainstream MQ products in the corresponding communities.
For more detailed information, please visit our Github homepage and official website:
- Github: https://github.com/robustmq/robustmq
- Website: https://robustmq.com/
We have currently completed the development of the first release version, including the overall architecture and the adaptation of the MQTT protocol. Next, we plan to further improve the MQTT, refine the stability, and then prepare for compatibility with the Kafka protocol.
At this stage, we would like to hear your suggestions. We hope to know whether this action makes sense and what areas for improvement there are. So that we can stay on the right track and do this well.
We know this is a difficult task, but we think it's a really cool thing and we want to give it a try. We are looking forward to the community's suggestions.
Cool! Let's do something fun together~.
At the same time, we also hope to find students who are interested in implementing infrastructure components, message queues, and distributed storage systems using Rust, and together explore the unlimited possibilities of Rust in the field of infrastructure.
Best wishes!