RocketMQ Clients - Collection of Client Bindings for Apache RocketMQ

Clone this repo:
  1. f9cb7f4 fix(rust): relax dependency upper-bound pins so downstream can use newer versions (#1468) by Lei Zhiyuan · 2 days ago master
  2. e90ece7 fix(ci): repair the Rust Coverage workflow startup failure (#1444) by lizhimins · 4 days ago
  3. 50a5df5 [ISSUE #1412] [CI] Restore rust-build as a gating check for build-result (#1443) by lizhimins · 5 days ago
  4. 3549cb5 [ISSUE #1440] [Rust] Select readable master queues for SimpleConsumer and start at a random index (#1441) by Lei Zhiyuan · 5 days ago
  5. 086c38a [ISSUE #1438] [Rust] Return an empty receipt handle instead of panicking when a MessageView has none (#1439) by Lei Zhiyuan · 5 days ago

RocketMQ Clients - Collection of Client Bindings for Apache RocketMQ

License Build

English | 简体中文 | RocketMQ Website

Overview

Client bindings for Apache RocketMQ, as known as RocketMQ 5.x SDK. All of them follow the specification of rocketmq-apis, replacing 4.x remoting-based counterparts. Clients in this repository are built on top of Protocol Buffers and gRPC.

Goal

Provide cloud-native and robust solutions for Java, C++, C#, Golang, Rust and all other mainstream programming languages.

Features and Status

  • Ready - ✅
  • Work in progress - 🚧
FeatureJavaC/C++C#GolangRustPythonNode.jsPHP
Producer with standard messages✅✅✅✅✅✅✅🚧
Producer with FIFO messages✅✅✅✅✅✅✅🚧
Producer with timed/delay messages✅✅✅✅✅✅✅🚧
Producer with transactional messages✅✅✅✅✅✅✅🚧
Producer with recalling timed/delay messages✅✅✅✅✅✅✅🚧
Simple consumer✅✅✅✅✅✅✅🚧
Push consumer with concurrent message listener✅✅✅✅✅✅✅🚧
Push consumer with FIFO message listener✅✅✅✅✅✅✅🚧
Push consumer with FIFO consume accelerator✅✅✅✅✅✅✅🚧
Priority Message✅✅✅✅✅✅✅🚧

Prerequisite and Build

This project is organized as a monorepo, with each language's bindings containing specific instructions in their respective subdirectories for building the project. As the rocketmq-apis submodule is incorporated into the project and could be utilized by some bindings, we highly advise cloning the repository by executing the command below:

git clone --recursive git@github.com:apache/rocketmq-clients.git

Contributing

Similar to other projects of Apache RocketMQ, any attempt to make this project better is welcome, including but not limited to filing a bug report, correcting type error or document writing to complete feature implementation. Do not hesitate to make a pull request if this project catches your attention.

Related

License

Apache License, Version 2.0 Copyright (C) Apache Software Foundation