1

我刚刚开始使用 Mongrel2,所有的教程都很棒,直到我开始将 Mongrel2 处理程序 send_spec 和 recv_spec 指向 localhost 以外的地址,例如网络上的第二台机器。

我开始收到这些错误:

errno: Resource temporarily unavailable) Failed to bind send socket trying again for: tcp://xxx.xxx.xxx.xxx:49901

我的问题是当有两个节点 A 和 B,其中 A 是 Mongrel2 服务器,B 是 A 的处理程序之一的“工作人员”时,A 的 .conf 文件的 send_spec 和 recv_spec 中会包含哪些地址?

如果这是一个幼稚的问题,我很抱歉,它让我很困惑。

4

1 回答 1

0

NodeA(Mongrel2 服务器)上的PUSH ( send_spec) 和SUB ( ) 端口是绑定套接字,因此您应该使用。通过使用地址,您可以接收来自任何接口的连接。recv_spectcp://*:<port>*

您的处理程序代码是需要特定地址的地方。我使用 docker 容器来运行我的 Python 处理程序,因此我总是需要为运行 Mongrel2 Server 的容器使用特定的 IP 地址tcp://172.16.1.?:<port>

如果所有这些都是真的

  • 允许 Docker 容器相互通信
  • 您正在使用正确的 IP 和端口
  • PUSH 和 SUB 规范从所有接口接收

您的处理程序应该能够连接。

于 2015-05-29T17:52:08.483 回答