wmq 使用 Go 基于 RabbitMQ 实现的消息中间件 wmq

polaris2017-10-17 04:00:03 • 5048 次点击    
这是一个分享于 2017-10-17 04:00:03 的项目,其中的信息可能已经有所发展或是发生改变。

WMQ是用golang基于RabbitMQ实现的消息中间件,在系统架构对解耦现有业务起到至关重要的作用,服务基于HTTP的API方式具有跨语言的特点,接入十分简单.能够很好的解决并发控制,异步任务,以及消息订阅与分发.工作原理架构图如下:

image

特点:

跨语言,基于HTTP协议.

高性能,测试环境下消息生产速率达到3000个/s,而且性能毫无下降,瓶颈出现在后端RabbitMQ上.

提供了web-ui管理系统,对服务进行管理

跨平台,运行简单,直接运行一个二进制文件.

支持集群部署,避免单点故障.

完全实现了RabbitMQ的fanout,topic,direct的消息模式,生产者可以按照需求生产不同routing key类型的消息,消费者在管理系统中可以随意订阅.

被动模式,一般情况下需要各种语言编写的程序与RabbitMQ建立持久的tcp连接,接受订阅的消息,这样的弊端很大,接入成本高,不易于维护."被动模式"解决了这个问题,消费者只需要设置routing key和一个消费的URL接口即可,然后有订阅的消息时,WMQ会推送消息到这个URL接口上,接口被动接受数据处理即可.

Wrapped message queue which based on rabbitmq,support http protocolRead More

Latest commit to the master branch on 12-7-2017
Download as zip
授权协议:
GPL
开发语言:
Google Go 查看源码»
操作系统:
跨平台
5048 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传