Web applications Mongrel2对NGINX和#x2B;ZeroMQ?

Web applications Mongrel2对NGINX和#x2B;ZeroMQ?,web-applications,nginx,webserver,mongrel2,Web Applications,Nginx,Webserver,Mongrel2,我在github上看到了这个新的项目,现在感到困惑 和NGINX+ZeroMQ之间的功能和可伸缩性有什么区别 (我之所以问这个问题,是因为我觉得Mongrel2是在NGINX不支持ZeroMQ的情况下单独创建的)我也读到了关于NGINX+ZeroMQ模块的内容,我立即发现了一个相当大的差异 ZeroMQ nginx模块使用REQ/REP套接字与后端进程通信。另一方面,mongrel2使用两个套接字。一个PUSH/PULL向下游(处理程序)发送消息,一个PUB/SUB(接收处理程序的响应)。这使得

我在github上看到了这个新的项目,现在感到困惑

和NGINX+ZeroMQ之间的功能和可伸缩性有什么区别


(我之所以问这个问题,是因为我觉得Mongrel2是在NGINX不支持ZeroMQ的情况下单独创建的)

我也读到了关于NGINX+ZeroMQ模块的内容,我立即发现了一个相当大的差异

ZeroMQ nginx模块使用REQ/REP套接字与后端进程通信。另一方面,mongrel2使用两个套接字。一个PUSH/PULL向下游(处理程序)发送消息,一个PUB/SUB(接收处理程序的响应)。这使得它完全异步。当mongrel2向后端处理程序发送请求时,它立即从zmq_send()调用返回,并且响应将在稍后的任何时候在另一个套接字中接收

另一个区别是mongrel2能够向多个客户端发送相同的响应。您的处理程序可以这样告诉mongrel2:“请将此响应传递给连接4、5、6和10”。Mongrel2将消息中的连接ID发送给处理程序

希望这有帮助!=)

NGINX+ZeroMQ有bug。 1.它不适用于NGINX 1.5原因NGINX在执行发送到ZMQ服务器(为此它调用发送链)上游钩子之前,测试连接是否有效。它会失败,因为它有ZMQ套接字而不是TCP套接字,因为协议不同,它会说它是一个无效连接

  • 还有很多类似的

  • 此模块不支持keepalive。不仅上游,甚至下游都不起作用。我正在努力使keepalive在下游工作

  • 我的建议是:使用keepalive实现ZMQ NGINX需要两个人月的时间