Crates.io | rocketmq-rust |
lib.rs | rocketmq-rust |
version | 0.2.0 |
source | src |
created_at | 2024-01-27 17:01:12.617995 |
updated_at | 2024-06-04 15:35:37.510266 |
description | Unofficial Rust implementation of Apache RocketMQ |
homepage | https://github.com/mxsm/rocketmq-rust |
repository | https://github.com/mxsm/rocketmq-rust |
max_upload_size | |
id | 1116833 |
size | 10,535 |
Welcome to Apache Rocketmq Rust implementation (Unofficial ). RocketMQ-Rust is a reimplementation of the Apache RocketMQ message middleware in the Rust language. This project aims to provide Rust developers with a high-performance and reliable message queue service, making full use of the features of the Rust language.
Run the following command to see usageļ¼
windows platform
cargo run --bin rocketmq-namesrv-rust -- --help
RocketMQ Name server(Rust)
Usage: rocketmq-namesrv-rust.exe [OPTIONS]
Options:
-p, --port <PORT> rocketmq name server port [default: 9876]
-i, --ip <IP> rocketmq name server ip [default: 127.0.0.1]
-h, --help Print help
-V, --version Print version
Linux platform
$ cargo run --bin rocketmq-namesrv-rust -- --help
RocketMQ Name server(Rust)
Usage: rocketmq-namesrv-rust [OPTIONS]
Options:
-p, --port <PORT> rocketmq name server port [default: 9876]
-i, --ip <IP> rocketmq name server ip [default: 127.0.0.1]
-h, --help Print help
-V, --version Print version
Run the following command to start the name server
cargo run --bin rocketmq-namesrv-rust
The existing RocketMQ has the following functional modules:
The specific functions of each module can be referred to in the official RocketMQ documentation. The Rust implementation will be carried out sequentially in the following order.
Feature list:
Not support: :broken_heart: :x:
Base support: :heart: :white_check_mark:
Perfect support: :sparkling_heart: :white_check_mark:
Feature | request code | Support | remark |
---|---|---|---|
Put KV Config | 100 | :sparkling_heart: :white_check_mark: | |
Get KV Config | 101 | :sparkling_heart: :white_check_mark: | |
Delete KV Config | 102 | :sparkling_heart: :white_check_mark: | |
Get kv list by namespace | 219 | :sparkling_heart: :white_check_mark: | |
Query Data Version | 322 | :sparkling_heart: :white_check_mark: | |
Register Broker | 103 | :sparkling_heart: :white_check_mark: | |
Unregister Broker | 104 | :sparkling_heart: :white_check_mark: | |
Broker Heartbeat | 904 | :sparkling_heart: :white_check_mark: | |
Get broker member_group | 901 | :sparkling_heart: :white_check_mark: | |
Get broker cluster info | 106 | :sparkling_heart: :white_check_mark: | |
Wipe write perm of boker | 205 | :sparkling_heart: :white_check_mark: | |
Add write perm of brober | 327 | :sparkling_heart: :white_check_mark: | |
Get all topic list from name server | 206 | :sparkling_heart: :white_check_mark: | |
Delete topic in name server | 216 | :sparkling_heart: :white_check_mark: | |
Register topic in name server | 217 | :sparkling_heart: :white_check_mark: | |
Get topics by cluster | 224 | :sparkling_heart: :white_check_mark: | |
Get system topic list from name server | 304 | :sparkling_heart: :white_check_mark: | |
Get unit topic list | 311 | :sparkling_heart: :white_check_mark: | |
Get has unit sub topic list | 312 | :sparkling_heart: :white_check_mark: | |
Get has unit sub ununit topic list | 313 | :sparkling_heart: :white_check_mark: | |
Update name server config | 318 | :broken_heart: :x: | |
Get name server config | 318 | :broken_heart: :x: |
Other module implementations will be done subsequently, starting with the Rust implementation of the Name Server. The goal is to achieve functionality similar to the Java version.
Contributions to code, issue reporting, and suggestions are welcome. The development of RocketMQ-Rust relies on the support of developers. Let's collaborate to advance Rust in the message middleware domain.
Stargazers Over Time | Contributors Over Time |
---|---|
RocketMQ-Rust is licensed under the Apache License 2.0 and MIT license