KiteQ —— 基于 go + protobuff 的消息队列

    xiaoxiao2023-07-24  135

    KiteQ 是一个基于 go + protobuff 实现的多种持久化方案的 mq 框架(消息队列)。

    特性:

    * 基于zk维护发送方、订阅方、broker订阅发送关系、支持水平、垂直方面的扩展 * 基于与topic以及第二级messageType订阅消息 * 基于mysql、文件存储方式多重持久层消息存储 * 保证可靠异步投递 * 支持两阶段提交分布式事务

    工程结构:

    kiteq/ ├── README.md ├── binding 订阅关系管理处理跟ZK的交互 ├── build.sh 安装脚本 ├── client KiteQ的客户端 ├── doc 文档 ├── handler KiteQ所需要的处理Handler ├── kite_benchmark_xxx.go KiteQ的Benchmark程序 ├── kiteq.go KiteQ对外启动入口 ├── protocol KiteQ的协议包,基于PB和定义的Packet ├── server KiteQ的Server端组装需要的组件 ├── stat 状态信息统计 └── store KiteQ的存储结构

    概念:

    * Binding:订阅关系,描述订阅某种消息类型的数据结构 * Consumer : 消息的消费方 * Producer : 消息的发送方 * Topic: 消息的主题比如 Trade则为消息主题,一般可以定义为某种业务类型 * MessageType: 第二级别的消息类型,比如Trade下存在支付成功的pay-succ-200的消息类型

    架构图:

    https://yqfile.alicdn.com/df7feda75ff9baaf14be1f1da8327a383b0e071c.png" >

    文章转载自 开源中国社区 [http://www.oschina.net]

    相关资源:敏捷开发V1.0.pptx
    最新回复(0)