【问题标题】:Mongrel2 vs. NGINX+ZeroMQ?Mongrel2 与 NGINX+ZeroMQ?
【发布时间】:2012-02-04 15:04:31
【问题描述】:

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

Mongrel2 和 NGINX+ZeroMQ 的功能和可扩展性有何不同。

(我之所以问是因为我的印象是 Mongrel2 是由于 NGINX 不支持 ZeroMQ 而单独创建的)

【问题讨论】:

    标签: web-applications nginx webserver mongrel2


    【解决方案1】:

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

    1. 类似的还有很多。

    2. 此模块不支持保活。不仅上游,甚至下游都行不通。我正在努力使下游的keepalive工作。

    我的建议:使用 keepalive 实现 ZMQ NGINX 需要两个人月。

    【讨论】:

      【解决方案2】:

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

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

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

      希望这会有所帮助! =)

      【讨论】:

        猜你喜欢
        • 2015-03-27
        • 2015-06-10
        • 1970-01-01
        • 2011-08-30
        • 2012-11-09
        • 2016-11-29
        • 2013-02-23
        • 2011-10-02
        • 1970-01-01
        相关资源
        最近更新 更多