apache / apache/rocketmq-clients

[Rust] Support LiteSimpleConsumer

Open
#1,361 2 comments 0 reactions 0 assignees View on GitHub
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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.