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

Mongrel2和NGINX + ZeroMQ之间的功能和可伸缩性差异是什么?

(之所以问,是因为我对Mongrel2的印象是完全创建的,因为NGINX不支持ZeroMQ)

最佳答案

我还阅读了有关nginx + zeromq模块的信息,我立即发现了很大的不同。

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

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

希望这可以帮助! =)

10-08 12:40