KiteQ Go 的 MQ 框架 KiteQ

blov • 5898 次点击    
这是一个分享于 的项目,其中的信息可能已经有所发展或是发生改变。
KiteQ 是一个基于 go + [protobuff](http://www.oschina.net/p/protocol+buffers) 实现的多种持久化方案的 mq 框架(消息队列)。 特性: <pre>* 基于zk维护发送方、订阅方、broker订阅发送关系、支持水平、垂直方面的扩展 * 基于与topic以及第二级messageType订阅消息 * 基于mysql、文件存储方式多重持久层消息存储 * 保证可靠异步投递 * 支持两阶段提交分布式事务</pre> 工程结构: <pre>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的存储结构</pre> 概念: <pre>* Binding:订阅关系,描述订阅某种消息类型的数据结构 * Consumer : 消息的消费方 * Producer : 消息的发送方 * Topic: 消息的主题比如 Trade则为消息主题,一般可以定义为某种业务类型 * MessageType: 第二级别的消息类型,比如Trade下存在支付成功的pay-succ-200的消息类型</pre> 架构图: ![image](http://static.oschina.net/uploads/img/201505/31081457_vnJf.png)
授权协议:
Apache
开发语言:
Google Go 查看源码»
操作系统:
跨平台
5898 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传