apache / apache/rocketmq-clients
[Feature] Go producer: support batch send in sync mode
- Dominant language
- Java
- Stars
- 505
- Forks
- 313
- Avg merge
- 11h 28m
- Merged PRs (30d)
- 6
Description
### Programming Language of the Client
Go
### Is Your Feature Request Related to a Problem?
Currently, the Go client (rocketmq-clients/golang/v5) only supports sending a single message via producer.Send() in sync mode. There is no batch send interface available. There is already a private send0 interface that accepts a batch.
send0(ctx context.Context, msgs []*UnifiedMessage, txEnabled bool) ([]*SendReceipt, error)
The legacy rocketmq-client-go (2.x) already supports batch message sending. It would be great to have this feature in the new 5.x client as well.
### Describe the Solution You'd Like
SendBatch(context.Context, []*Message) ([]*SendReceipt, error)
### Describe Alternatives You've Considered
None
### Additional Context
_No response_
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in rocketmq-clients/golang/v5 by reading the producer.Send entry point and the existing private send0 interface, then compare batch support in the legacy rocketmq-client-go 2.x client. Done means the new client exposes SendBatch(context.Context, []*Message) and returns the expected send receipts and error behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- distributed-systems
- Issue type
- Feature
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 68/100