我已经成功地能够在TCP协议上连接工作程序和代理,然后在TCP上将客户端连接到代理。 现在,我正在评估,当客户端将在TCP上连接到代理时,工作程序和代理是否可以通过ipc / inproc协议进行连接。 我的工人和经纪人将在同一台计算机上,甚至可能位于同一进程中。我的客户端可以从其他计算机连接到我的代理,这就是为什么它需要安装在TCP上的原因
经纪人可以双重绑定吗?
答案 0 :(得分:1)
是的,按照您的建议做是没有问题的。每个ZMQ套接字的操作都与代码中的其他套接字完全不同。通常,将连接协议混合在一起以按您希望的方式优化通信是很有意义的。
我在这里做的一个假设是,您的代理有2套套接字:可以通过TCP连接的面向客户端的套接字和可以通过其他协议连接的面向工作者的套接字。如果客户端和工作者都连接到代理上的相同套接字,则它们必须通过相同协议进行连接。
唯一需要考虑的是,您的工人是否总是和您的经纪人居住在同一流程中,或者是否可能增长到可以分开他们的地步。但是,如果您以某种可配置的方式定义套接字连接,而不是将其烘焙到代码中,那么即使您决定沿线进行更改,即使这样相对较容易解决。