RocketMQ Clients - Collection of Client Bindings for Apache RocketMQ

License CPP C# Java Golang Codecov-cpp Codecov-java Codecov-golang Maven Central NuGet Gallery

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#GolangRustNode.jsPython
Producer with standard messages🚧🚧🚧
Producer with FIFO messages🚧🚧🚧
Producer with timed/delay messages🚧🚧🚧
Producer with transactional messages🚧🚧🚧
Simple consumer🚧🚧🚧
Push consumer with concurrent message listener🚧🚧🚧🚧🚧
Push consumer with FIFO message listener🚧🚧🚧🚧🚧

Prerequisite and Build

As this project is structured as a monorepo, instructions on how to build it can be found in the subdirectories for each language's bindings. Since the rocketmq-apis submodule is included in this project and may be referenced by some bindings, we strongly recommend that you clone this repository using the following command:

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