微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

KiteQ Go 的 MQ 框架

程序名称:KiteQ

授权协议: Apache

操作系统: 跨平台

开发语言: Google Go

KiteQ 介绍

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的消息类型

架构图:

KiteQ 官网

https://github.com/blackbeans/kiteq

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐