MCPcopy Index your code
hub / github.com/apache/rocketmq-clients

github.com/apache/rocketmq-clients @csharp-5.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release csharp-5.2.1 ↗ · + Follow
7,223 symbols 20,825 edges 908 files 1,553 documented · 22%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Apache RocketMQ 客户端

License Build

English | 简体中文 | RocketMQ 官网

概述

Apache RocketMQ 的多语言客户端实现,也被称为 RocketMQ 5.x 客户端。遵从 rocketmq-apis 约束,使用 Protocol BuffersgRPC 替代了 4.x 的旧有协议。

设计目标

为 Apache RocketMQ 提供包含 Java,C++,C#,Golang,JavaScript,Rust 在内的所有主流编程语言的云原生的,健壮的客户端解决方案。

特性与进度

  • 可用 - ✅
  • 进行中 - 🚧
特性 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 🚧
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 🚧

先决条件和构建

本项目是以多语言 monorepo 的形式组织的,因此可以在每种语言的子目录中找到各自的构建命令。此外,由于 rocketmq-apis 作为一个子模块被包含在本项目中,可能会被一些语言的实现在构建时所引用,为了保证构建的顺利,我们强烈建议使用以下命令克隆此代码仓库:

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

参与贡献

与 Apache RocketMQ 的其他项目类似,我们欢迎任何形式的贡献,包括但不仅限于提交 bug 报告、勘误纠错、文档撰写或提交 feature。成为 Apache RocketMQ contributor,从第一个 issue/pull request 开始!

相关链接

开源许可证

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

Extension points exported contracts — how you extend this code

ConnOption (Interface)
A ConnOption sets options such as tls.Config, etc. [7 implementers]
golang/conn_options.go
SimpleConsumerOption (Interface)
A ConsumerOption sets options such as tag, etc. [7 implementers]
golang/simple_consumer_options.go
RpcClientOption (Interface)
A RpcClientOption sets options such as tls.Config, etc. [7 implementers]
golang/rpc_client_options.go
PushConsumerOption (Interface)
A ConsumerOption sets options such as tag, etc. [7 implementers]
golang/push_consumer_options.go
ClientOption (Interface)
A ClientOption sets options such as timeout, etc. [7 implementers]
golang/client_options.go
ProducerOption (Interface)
A ProducerOption sets options such as tls.Config, etc. [7 implementers]
golang/producer_options.go
LoggerOption (Interface)
A LoggerOption sets options such as filename, etc. [7 implementers]
golang/pkg/zaplog/options.go
MessageInterceptor (Interface)
Interface for intercepting ingoing/outgoing message before/after they are dispatched by client. [11 implementers]
java/client/src/main/java/org/apache/rocketmq/client/java/hook/MessageInterceptor.java

Core symbols most depended-on inside this repo

build
called by 496
java/client-apis/src/main/java/org/apache/rocketmq/client/apis/message/MessageBuilder.java
newBuilder
called by 357
java/client-apis/src/main/java/org/apache/rocketmq/client/apis/ClientConfiguration.java
error
called by 233
nodejs/src/client/Logger.ts
add
called by 204
cpp/source/rocketmq/FifoProducerPartition.cpp
info
called by 199
nodejs/src/client/Logger.ts
get
called by 152
java/client/src/main/java/org/apache/rocketmq/client/java/rpc/RpcFuture.java
Error
called by 122
golang/error.go
message
called by 114
cpp/source/base/ErrorCategory.cpp

Shape

Method 5,473
Class 747
Function 638
Struct 175
Interface 104
Enum 59
TypeAlias 23
FuncType 2
Route 2

Languages

Go25%
Java21%
C#13%
C++9%
PHP9%
Python8%

Modules by API surface

golang/protocol/v2/service.pb.go419 symbols
golang/protocol/v2/definition.pb.go345 symbols
rust/src/pb/apache.rocketmq.v2.rs117 symbols
golang/protocol/v2/service_grpc.pb.go96 symbols
rust/src/client.rs68 symbols
php/grpc/Apache/Rocketmq/V2/SystemProperties.php64 symbols
rust/src/model/message.rs61 symbols
csharp/rocketmq-client-csharp/PushConsumer.cs56 symbols
rust/src/conf.rs55 symbols
golang/push_consumer.go54 symbols
rust/src/push_consumer.rs53 symbols
golang/message.go51 symbols

For agents

$ claude mcp add rocketmq-clients \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact