{"repo":"qvcloud/broker","free":true,"listed":false,"github":"https://github.com/qvcloud/broker","clone":"git clone https://github.com/qvcloud/broker.git","description":"A production-grade messaging abstraction for Go. It provides a unified API to decouple business logic from various brokers including Kafka, RabbitMQ, RocketMQ, NATS, Redis, and AWS SQS. Featuring built-in OpenTelemetry integration and engineered for high reliability.","language":"Go","stars":11,"topics":["go","kafka","message-broker","opentelemetry","rabbitmq","redis","rocketmq-client","amqp-client","pubsub","redisstreams"],"license":"MIT","category":"databases-storage","readme_excerpt":"QvCloud Broker English 中文 QvCloud Broker 是一个面向生产场景的 Go 语言消息中间件抽象层。它通过统一的 API 屏蔽 Kafka、RabbitMQ、RocketMQ、NATS、Redis、AWS SQS 和 GCP Pub/Sub 等底层差异，并内置 OpenTelemetry 链路追踪。生产采用前仍应针对选定的消息系统完成真实环境集成测试和容量验证。 核心特性 - 接口驱动 : 统一的 Broker , Publisher , Subscriber 接口。 - 多驱动支持 : 驱动 (Driver) 状态 (Status) 测试覆盖率 (Coverage) 说明 (Description) :--- :--- :--- :--- Core Framework ✅ 单元测试验证 89.4% 库核心逻辑与通用 Options AWS SQS ✅ 单元测试验证 94.6% 亚马逊云队列服务 NATS ✅ 单元测试验证 91.7% 高性能消息系统 Redis ✅ 单元测试验证 91.7% 基于 Streams (Consumer Group) RocketMQ ✅ 单元测试验证 83.6% 阿里云/原生 RocketMQ RabbitMQ ✅ 单元测试验证 79.9% 标准 AMQP 协议 Kafka ✅ 单元测试验证 81.0% 基于 segmentio/kafka-go GCP Pub/Sub 🧪 持续完善 62.0% 谷歌云发布订阅 - 可扩展性 : 插件化架构，轻松接入新的 MQ 实现。 - 统一模型 : 厂商无关的消息模型。 - 按需可观测 : 日志、健康、诊断快照、指标、上下文关联和状态事件默认关闭并可独立开启；现有 Broker 接口保持兼容。 可观测性与故障排查 可观测能力是可选功能，默认全部关闭，不会改变现有 broker.Broker 接口。应用可以按需独立启用健康状态、诊断快照、结构化故障、指标、Trace Context 和状态事件。 快速体验与效果 示例使用内存 No-op Broker，无需 Docker、MQ 服务或账号： 正常场景的典型输出： 发布失败时的典型输出： 这些输出可以直接回答“是否已连接”“是否可接收流量”“哪个操作失败”“当前订阅数是多少”“事件是否因缓冲区满而丢弃”等排障问题。输出不会包含消息正文、连接凭据、签名查询参数或原始 Trace ID。 在实际 Broker 中启用 下面以 Kafka 为例；同一个 broker.WithObservability(...) 可用于 RabbitMQ、NATS、Redis、RocketMQ、SQS、Pub/Sub 和 No-op Broker： CategoryLogging 或 CategoryStateEvents 开启时必须配置 WithEventSink ，否则 Connect() 返回 broker.ErrInvalidObservabilityConfig 。事件通过有界单 worker 异步派发；Sink 阻塞、报错或 panic 不会改变 Publish、Handler、Ack、Nack 的业务结果。队列满时按照指定策略丢弃，并通过 Snapshot().DroppedRecords 暴露数量。 分类开关 分类 作用 主要效果 :--- :--- :--- CategoryLogging 结构化故障记录 向 Event Sink 发送已脱敏的操作失败事件 CategoryHealth 健康状态 查询 u","default_branch":null,"files":null,"tree":[],"storefront":"/r/qvcloud","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/qvcloud/broker/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}