- Notifications
You must be signed in to change notification settings - Fork162
🚀Apache RocketMQ build in Rust🦀. Faster, safer, and with lower memory usage.
License
Apache-2.0, MIT licenses found
Licenses found
mxsm/rocketmq-rust
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Welcome toApache Rocketmq Rust implementation.RocketMQ-Rust(Rust library) isa reimplementation of the Apache RocketMQ message middleware in the Rust language. This project aims to provide Rustdevelopers with a high-performance and reliable message queue service, making full use of the features of the Rustlanguage.
- Rust Language Advantages: Leveraging the benefits of Rust, such as memory safety, zero-cost abstractions, and highconcurrency performance, RocketMQ-Rust offers an efficient and reliable message middleware.
- Asynchronous and Non-blocking Design: RocketMQ-Rust takes full advantage of Rust's asynchronous programmingcapabilities, adopting a non-blocking design that supports high-concurrency message processing.
- Ecosystem Integration: As part of the Rust ecosystem, RocketMQ-Rust integrates well with other libraries andframeworks within the Rust ecosystem, providing flexible integration options for developers.
- Cross-platform Support: RocketMQ-Rust supports multiple platforms, including Linux, Windows, macOS, making itconvenient for use in different environments.
Manual official documentation
:Rocketmq-rust websiteAI documentation
:Rocketmq-rust Deepwiki
- rust toolchain MSRV is 1.85.0(stable,nightly)
Run the following command to see usage:
windows platform
cargo run --bin rocketmq-namesrv-rust -- --helpRocketMQ Name remoting_server(Rust)Usage: rocketmq-namesrv-rust.exe [OPTIONS]Options: -p, --port<PORT> rocketmq name remoting_server port [default: 9876] -i, --ip<IP> rocketmq name remoting_server ip [default: 0.0.0.0] -c, --config-file<CONFIG FILE> Name server config properties file -h, --helpPrint help -V, --versionPrint version
Linux platform
$ cargo run --bin rocketmq-namesrv-rust -- --helpRocketMQ Name server(Rust)Usage: rocketmq-namesrv-rust [OPTIONS]Options: -p, --port<PORT> rocketmq name remoting_server port [default: 9876] -i, --ip<IP> rocketmq name remoting_server ip [default: 0.0.0.0] -c, --config-file<CONFIG FILE> Name server config properties file -h, --help Printhelp -V, --version Print version
Run the following command to start the name server
cargo run --bin rocketmq-namesrv-rust
Run the following command to see usage:
windows platform
cargo run --bin rocketmq-broker-rust -- --helpRocketMQ Broker Server(Rust)Usage: rocketmq-broker-rust.exe [OPTIONS]Options: -c, --config-file<FILE> Broker config properties file -m, --print-important-config Print important config item -n, --namesrv-addr<IP> Name server address list, eg:'192.168.0.1:9876;192.168.0.2:9876' [default: 127.0.0.1:9876] -p, --print-config-item Print all config item -h, --help Printhelp -V, --version Print version
Linux platform
$ cargo run --bin rocketmq-broker-rust -- --helpRocketMQ Broker Server(Rust)Usage: rocketmq-broker-rust [OPTIONS]Options: -c, --config-file<FILE> Broker config properties file -m, --print-important-config Print important config item -n, --namesrv-addr<IP> Name server address list, eg:'192.168.0.1:9876;192.168.0.2:9876' [default: 127.0.0.1:9876] -p, --print-config-item Print all config item -h, --help Printhelp -V, --version Print version
Run the following command to start the name server
cargo run --bin rocketmq-broker-rust
First, start the RocketMQ NameServer and Broker services.
For more examples, you can check here
The existing RocketMQ has the following functional modules:
- Name Server
- Broker
- Store (Local Storage)
- Controller (High Availability)
- Client (SDK)
- Proxy
- Tiered Store (Tiered Storage Module)
The specific functions of each module can be referred to intheofficial RocketMQ documentation. The Rust implementationwill be carried out sequentially in the following order.
Contributions to code, issue reporting, and suggestions are welcome. The development of RocketMQ-Rust relies on thesupport of developers. Let's collaborate to advance Rust in the message middlewaredomain.Contribute Guide
RocketMQ-Rust is licensed under theApache License 2.0andMIT license
About
🚀Apache RocketMQ build in Rust🦀. Faster, safer, and with lower memory usage.
Topics
Resources
License
Apache-2.0, MIT licenses found
Licenses found
Code of conduct
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.