RocketMQ Clients - Collection of Client Bindings for Apache RocketMQ

Clone this repo:
  1. f9829e5 fix(nodejs): create the first-settings promise before any await in startup (#1405) by zhaohai · 11 hours ago master
  2. a3d1de8 enhancement(nodejs): bump version to 1.1.0 (#1398) by Quan · 10 days ago
  3. 6b0bcc4 [Node.js] Fix ESLint errors in src and test so the lint gate passes (#1396) by Quan · 11 days ago
  4. fa490c2 Feat/nodejs message interceptor hooks (#1384) by zhaohai · 14 days ago
  5. 6c96a83 feat(nodejs): add consumer-side rate limiting via semaphore backpressure (#1386) by zhaohai · 14 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