我是蚂蚁背大象(Apache EventMesh PMC&Committer),文章对你有帮助给Rocketmq-rust star,关注我GitHub:mxsm,文章有不正确的地方请您斧正,创建ISSUE提交PR~谢谢! Emal:mxsm@apache.com
Rust重构Rocketmq,大家好我是mxsm(Apache EventMesh PMC&Committer|Rocketmq活跃Contributor)最近在学习Rust的相关知识,Rust也是近些年来比较火的语言,本着技多不压身的想法和不会Rust开发的Java开发不是好开发的理念。最近在用Rust来重构Rocketmq,把所学的Rust的知识运用起来,检验一下学习成果。这个也是我下面这个项目的目的:rocketmq-rust
有对 rocketmq-rust 项目感兴趣的小伙伴可以一起来开发和研究(Rust新手轻点喷), 希望大家给个star。 不管你是Rust的新手,高手欢迎一起交流学习参与进来。
1. 什么是rocketmq-rust?
Rocketmq-rust是基于Apache Rocketmq Java版本的Rust实现,最终的目标是用Rust的完全实现一个和现有Rocketmq一样的Rust的版本的Rocketmq。两者可互通功能完全一致。
1.1 RocketMQ-Rust 的特点
- Rust 语言优势: 利用 Rust 语言的内存安全性、零成本抽象、并发性能等特性,提供高效、可靠的消息中间件。
- 异步和非阻塞设计: RocketMQ-Rust 充分利用 Rust 异步编程的能力,采用非阻塞设计,支持高并发消息处理。
- 生态整合: 作为 Rust 生态系统的一部分,RocketMQ-Rust 与 Rust 生态中其他库和框架的兼容性良好,为开发者提供灵活的集成选项。
- 跨平台支持: RocketMQ-Rust 支持多种平台,包括 Linux、Windows、macOS 等,方便在不同环境下使用。
1.2 项目进展
已经能够实现Broker的注册功能,初步实现了:
- Broker registration(request code: 103)-Currently, only basic Broker registration is supported. Support for the Controller mode is pending.
- Retrieve cluster information(request code: 106)
具体使用可以参照项目的README 文档
2. 如何参与贡献开发
项目地址:https://github.com/mxsm/rocketmq-rust
2.1 所需相关技能
- 熟悉Apache Rocketmq的架构以及相关知识,对Rocketmq的Java源码有一定的了解(方便进行Rust重构)
- 了解熟悉Rust的基本知识以及开发,这里包括以下方面:
- Rust的基础知识
- Rust的异步知识
- Tokio框架开发等等
2.1 如何参与
- 在 rocketmq-rust 项目中会有一些ISSUE可以进行实现开发
- 根据自己的兴趣爱好自己提ISSUE进行开发
3. 目标
- 最终目标实现Rust版本的Rocketmq,相比Java版本的版本的功能一样。同时想对比一下两种语言的实现版本性能的差异性
- 将所学的Rust知识融会贯通,学以致用。对于想学Rust的但是又不知道从哪里练手的人来说这个项目尝试一下