Mongrel2 send_spec和recv_spec

时间:2015-01-28 14:50:12

标签: zeromq mongrel2

我刚开始搞乱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?

对不起,如果这是一个天真的问题,它让我很困惑。

1 个答案:

答案 0 :(得分:0)

NodeA上的 PUSH send_spec)和 SUB recv_spec)端口( Mongrel2服务器)是绑定套接字所以你应该使用tcp://*:<port>。通过使用*作为地址,您可以从任何接口接收连接。

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

如果所有这些都是 true

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

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