commit | 20c5fba92bcd24df1a53bdfc1ec8489d78c48403 | [log] [tgz] |
---|---|---|
author | fengmk2 <fengmk2@gmail.com> | Sun Sep 17 12:16:52 2023 +0800 |
committer | GitHub <noreply@github.com> | Sun Sep 17 12:16:52 2023 +0800 |
tree | 56fea5a7d5adf4fb0ddc660111172411c6d1c55e | |
parent | 973c9580d4ed1b4cf31f9f7df1b290d22b50c6a0 [diff] |
feat(nodejs): Add Node.js Implementation of Apache RocketMQ Client (#602) * feat(nodejs): Add Node.js Implementation of Apache RocketMQ Client * fix MessageQueue * add default file logger to `$HOME/logs/rocketmq/rocketmq_client_nodejs.log` * cleanup timers on shutdown * Change log format * Add delay message unittest * Add sessionCredentials * Run test on GitHub Action * Fix coverage yml * Should init before start test * Checkout with submodules=recursive * Show cluster stats before create topic * Print receive stats on unittest * Use random consumerGroup on receive * Set coverage files * Set version to 1.0.0 * All message type support * Add FIFO message test * Make sure FIFO message test pass * Add LICENSE to npm package * Default max number of message sending retries is 3
English | 简体中文 | RocketMQ Website
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.
Provide cloud-native and robust solutions for Java, C++, C#, Golang, Rust and all other mainstream programming languages.
Feature | Java | C/C++ | C# | Golang | Rust | Python | Node.js | PHP |
---|---|---|---|---|---|---|---|---|
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 | ✅ | ✅ | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 | 🚧 |
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
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.
Apache License, Version 2.0 Copyright (C) Apache Software Foundation