WMQ 介绍
WMQ 是用 Golang 编写的基于 RabbitMQ 实现的消息中间件,在系统架构对解耦现有业务起到至关重要的作用,服务基于 HTTP 的 API
方式具有跨语言的特点,接入十分简单。能够很好的解决并发控制,异步任务,以及消息订阅与分发.工作原理架构图如下:
特点:
-
跨语言,基于 HTTP 协议。
-
高性能,测试环境下消息生产速率达到3000个/s,而且性能毫无下降,瓶颈出现在后端 RabbitMQ 上。
-
提供了 web-ui 管理系统,对服务进行管理。
-
跨平台,运行简单,直接运行一个二进制文件。
-
支持集群部署,避免单点故障。
-
完全实现了 RabbitMQ 的 fanout、topic、direct 的消息模式,生产者可以按照需求生产不同 routing key 类型的消息,消费者在管理系统中可以随意订阅。
-
被动模式,一般情况下需要各种语言编写的程序与 RabbitMQ 建立持久的 tcp 连接,接受订阅的消息,这样的弊端很大,接入成本高,不易于维护。”被动模式”解决了这个问题,消费者只需要设置 routing key 和一个消费的 URL 接口即可,,然后有订阅的消息时,WMQ 会推送消息到这个 URL 接口上,接口被动接受数据处理即可。
WMQ 官网
https://gitee.com/snail/wmq-go
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。