|
| 1 | +# The Rust Implementation of Apache RocketMQ Broker |
| 2 | + |
| 3 | +## Overview |
| 4 | + |
| 5 | +This module is mainly the implementation of the [Apache RocketMQ](https://github.com/apache/rocketmq) Broker, containing all the functionalities of the Java version Broker. |
| 6 | + |
| 7 | +## Getting Started |
| 8 | + |
| 9 | +### Requirements |
| 10 | + |
| 11 | +1. rust toolchain MSRV is 1.75.(stable,nightly) |
| 12 | + |
| 13 | +### Run Borker |
| 14 | + |
| 15 | +**Run the following command to see usage:** |
| 16 | + |
| 17 | +- **windows platform** |
| 18 | + |
| 19 | + ```shell |
| 20 | + cargo run --bin rocketmq-broker-rust -- --help |
| 21 | + |
| 22 | + RocketMQ Broker Server(Rust) |
| 23 | + |
| 24 | + Usage: rocketmq-broker-rust.exe [OPTIONS] |
| 25 | + |
| 26 | + Options: |
| 27 | + -c, --config-file <FILE> Broker config properties file |
| 28 | + -m, --print-important-config Print important config item |
| 29 | + -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] |
| 30 | + -p, --print-config-item Print all config item |
| 31 | + -h, --help Print help |
| 32 | + -V, --version Print version |
| 33 | + ``` |
| 34 | + |
| 35 | + |
| 36 | + |
| 37 | +- **Linux platform** |
| 38 | + |
| 39 | + ```shell |
| 40 | + $ cargo run --bin rocketmq-broker-rust -- --help |
| 41 | + |
| 42 | + RocketMQ Broker Server(Rust) |
| 43 | + |
| 44 | + Usage: rocketmq-broker-rust [OPTIONS] |
| 45 | + |
| 46 | + Options: |
| 47 | + -c, --config-file <FILE> Broker config properties file |
| 48 | + -m, --print-important-config Print important config item |
| 49 | + -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] |
| 50 | + -p, --print-config-item Print all config item |
| 51 | + -h, --help Print help |
| 52 | + -V, --version Print version |
| 53 | + ``` |
| 54 | + |
| 55 | +Run the following command to start the name server |
| 56 | + |
| 57 | +``` |
| 58 | +cargo run --bin rocketmq-broker-rust |
| 59 | +``` |
| 60 | + |
| 61 | +## Feature |
| 62 | + |
| 63 | +**Feature list**: |
| 64 | + |
| 65 | +- **Not support**: 💔 ❌ |
| 66 | +- **Base support**: ❤️ ✅ |
| 67 | +- **Perfect support**: 💖 ✅ |
| 68 | + |
| 69 | +| Feature | request code | Support | remark | |
| 70 | +| ---------------------------- | ------------------ | ------- | --------------------------------------- | |
| 71 | +| topic config load | :heavy_minus_sign: | 💔 ❌ | TopicConfigManager class function | |
| 72 | +| topic queue mapping load | :heavy_minus_sign: | 💔 ❌ | TopicQueueMappingManager class function | |
| 73 | +| consume offset load | :heavy_minus_sign: | 💔 ❌ | ConsumerOffsetManager class function | |
| 74 | +| subscription group load | :heavy_minus_sign: | 💔 ❌ | SubscriptionGroupManager class function | |
| 75 | +| consumer filter load | :heavy_minus_sign: | 💔 ❌ | ConsumerFilterManager class function | |
| 76 | +| consumer order info load | :heavy_minus_sign: | 💔 ❌ | ConsumerOrderInfoManager class function | |
| 77 | +| message store load | :heavy_minus_sign: | 💔 ❌ | | |
| 78 | +| timer message store load | :heavy_minus_sign: | 💔 ❌ | | |
| 79 | +| schedule message store load | :heavy_minus_sign: | 💔 ❌ | | |
| 80 | +| send message hook | :heavy_minus_sign: | 💔 ❌ | | |
| 81 | +| consume message hook | :heavy_minus_sign: | 💔 ❌ | | |
| 82 | +| send message | 10 | 💔 ❌ | | |
| 83 | +| send message v2 | 310 | 💔 ❌ | | |
| 84 | +| send batch message | 320 | 💔 ❌ | | |
| 85 | +| consume send message back | 36 | 💔 ❌ | | |
| 86 | +| pull message | 11 | 💔 ❌ | | |
| 87 | +| lite pull message | 361 | 💔 ❌ | | |
| 88 | +| peek message | 200052 | 💔 ❌ | | |
| 89 | +| pop message | 200050 | 💔 ❌ | | |
| 90 | +| ack message | 200051 | 💔 ❌ | | |
| 91 | +| batch ack message | 200151 | 💔 ❌ | | |
| 92 | +| change message invisibletime | 200053 | 💔 ❌ | | |
| 93 | +| notification | 200054 | 💔 ❌ | | |
| 94 | +| polling info | 200055 | 💔 ❌ | | |
| 95 | +| send reply message | 324 | 💔 ❌ | | |
| 96 | +| send reply message v2 | 325 | 💔 ❌ | | |
| 97 | +| query message | 12 | 💔 ❌ | | |
| 98 | +| view message by id | 33 | 💔 ❌ | | |
| 99 | +| heart beat | 34 | 💔 ❌ | | |
| 100 | +| unregister client | 35 | 💔 ❌ | | |
| 101 | +| check client config | 46 | 💔 ❌ | | |
| 102 | +| get consumer list by group | 38 | 💔 ❌ | | |
| 103 | +| update consumer offset | 15 | 💔 ❌ | | |
| 104 | +| query consumer offset | 14 | 💔 ❌ | | |
| 105 | +| query assignment | 400 | 💔 ❌ | | |
| 106 | +| set message request mode | 401 | 💔 ❌ | | |
| 107 | +| end transacation | 37 | 💔 ❌ | | |
| 108 | +| default processor | :heavy_minus_sign: | 💔 ❌ | AdminBrokerProcessor class function | |
| 109 | + |
| 110 | + |
| 111 | + |
| 112 | + |
| 113 | + |
| 114 | + |
| 115 | + |
0 commit comments