apache / apache/rocketmq-clients
[Rust] Support LiteSimpleConsumer
- Dominant language
- Java
- Stars
- 505
- Forks
- 313
- Avg merge
- 11h 28m
- Merged PRs (30d)
- 6
Description
## Feature Request
The Rust SDK currently only has `LitePushConsumer` (push-style lite consumption, added in #1227). It is missing `LiteSimpleConsumer` (pull-style lite consumption).
Java (#1188) and Go (#1314) already implement `LiteSimpleConsumer`. This issue tracks adding it to the Rust SDK so all languages reach parity for lite pull consumption.
## Proposal
- Add `LiteSimpleConsumer` and `LiteSimpleConsumerTrait`.
- Add `ClientType::LiteSimpleConsumer = 6`.
- Add lite-topic-aware queue selection for lite consumers.
- Fix ack/change-invisible-duration to pass through the message's lite topic so acks route to the correct LMQ consume queue.
- Add an example (`examples/lite_simple_consumer.rs`).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reading the existing Rust LitePushConsumer and LitePushConsumerTrait, then compare the Java and Go LiteSimpleConsumer implementations referenced in the issue. Trace Rust client type selection, lite-topic-aware queue selection, and ack/change-invisible-duration routing. Done means the new consumer and trait work, the example exists, and lite pull consumption reaches the correct queues.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100