apache / apache/rocketmq-clients
The roadmap of the golang client
- Dominant language
- Java
- Stars
- 505
- Forks
- 313
- Avg merge
- 11h 28m
- Merged PRs (30d)
- 6
Description
Since the initial implementation of the golang client has been merged(#19), there are still some unfinished tasks to be done.
In the first stage, the basic features will be implemented.
* **Adapt to [v2 protocol](https://github.com/apache/rocketmq-apis)**
The [v1 version](https://github.com/apache/rocketmq-apis/releases/tag/v1.0) is archived. It is necessary to adapt to the latest protocol.
* **Adapt to the unified API specs ( Producer + Simple Consumer )**
We established a [New and Unified API Specs](https://shimo.im/docs/m5kv92OeRRU8olqX), see more details from [java apis](https://github.com/apache/rocketmq-clients/tree/master/java/client-apis/src/main/java/org/apache/rocketmq/client/apis). The part of producer and simple consumer takes precedence. The four types of message will be supported in this phase.
In the second stage.
* **Clear error handling**
The [RPC-status code mapping table](https://github.com/apache/rocketmq-apis/blob/main/status_code.md) indicates the status codes that may occur in various cases across languages, you can get more information from this.
* **Improve the observability**
The observability contains logging, tracing and metrics, you can improve observability of client-side through [OpenTelemetry](https://opentelemetry.io/) or other tools from these aspects.
* **Adapt to the unified API specs ( Push Consumer )**
Implement the push consumer.
Documentations and unit tests should cover the corresponding part in each phase.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the initial Go client implementation from issue #19, then compare it with the v2 protocol and the Java client-apis referenced here. Break the roadmap into separately scoped protocol, unified API, error-handling, observability, and push-consumer work. Done requires the corresponding implementation, documentation, and unit-test coverage for each phase.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- go
- Domain
- backend-api-design, distributed-systems, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100