RocketMQ Clients - Collection of Client Bindings for Apache RocketMQ

Clone this repo:
  1. 1f09375 feat(csharp): parallel FIFO consume by message group (#1218) by guyinyou · 18 hours ago master
  2. 17ab1b4 feat(csharp): graceful PushConsumer shutdown aligned with Go client (#1217) by guyinyou · 2 days ago
  3. 505e1fd feat(LitePushConsumer): enable Lite Push Consumer to suspend consumption (#1206) by Quan · 4 days ago
  4. d483551 The Node.js SDK supports the following features: Producing scheduled and delayed messages FIFO message listening with push consumer FIFO consumption acceleration with push consumer Priority messaging (#1211) by zhaohai · 11 days ago
  5. e97a2cd [ISSUE #1196] [Java] Increase max cached message count limit for PushConsumer (#1214) by lizhimins · 2 weeks 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