WMQ基于 RabbitMQ 实现的消息中间件

联合创作 · 2023-10-01 03:51

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

特点:

  • 跨语言,基于 HTTP 协议。

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

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

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

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

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

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

浏览 13
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报