#rocket-mq #nameserver #rust

bin+lib rocketmq-namesrv

Rust implementation of Apache rocketmq name sever

1 unstable release

0.1.0 Jan 28, 2024

#1 in #nameserver

MIT/Apache

420KB
8K SLoC

The Rust Implementation of Apache RocketMQ Name server

Overview

Here is the rust implementation of the name server for Apache RocketMQ.

Feature

Feature list:

  • Not support: 💔 ❌

  • Base support: ❤️ ✅

  • Perfect support: 💖 ✅

Feature request code Support remark
Put KV Config 100 💖 ✅
Get KV Config 101 💖 ✅
Delete KV Config 102 💖 ✅
Get kv list by namespace 219 💖 ✅
Query Data Version 322 💖 ✅
Register Broker 103 💖 ✅
Unregister Broker 104 💖 ✅
Broker Heartbeat 904 💖 ✅
Get broker member_group 901 💖 ✅
Get broker cluster info 106 💖 ✅
Wipe write perm of boker 205 💖 ✅
Add write perm of brober 327 💖 ✅
Get all topic list from name server 206 💖 ✅
Delete topic in name server 216 💖 ✅
Register topic in name server 217 💖 ✅
Get topics by cluster 224 💖 ✅
Get system topic list from name server 304 💖 ✅
Get unit topic list 311 💖 ✅
Get has unit sub topic list 312 💖 ✅
Get has unit sub ununit topic list 313 💖 ✅
Update name server config 318 💔 ❌
Get name server config 318 💔 ❌

Getting Started

Requirements

  1. rust toolchain MSRV is 1.75.(stable,nightly)

Run name server

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

Dependencies

~11–24MB
~320K SLoC