NSQProxy 发布 v1.0.0 版本
NSQProxy是Golang开发的NSQ和Worker之间的中间件,根据数据库配置,负责消息转发。 在唱吧内部使用2年,高效稳定的处理着每日数十亿条消息。现将其开源,并定版本为v1.0.0。 NSQProxy启动后,接受NSQD队列的内容,然后通过HTTP/FastCGI/CBNSQ等协议转发给Worker机执行。流程图如下: 我们使用VUE开发了管理后台,方便对消费者进行配置和管控,如图: 解决的问题 各Topic执行机器可配 各Topic消费速度可配 各Worker机协议可配 HTTP:将消息发送给配好的URL。 FastCGI:将消息发送给配置的服务端,如PHP-FPM。 CBNSQ:自定义的基于TCP的文本协议。 可视化界面管理 队列积压超出阈值报警 散乱在各处的消费者集中化管理 通过网络分发,无需安装.so等扩展库,因此无需修改线上环境 部署 Golang编写,部署及其简单,下载release可执行的二进制文件,直接在机器上运行即可。