我已经成功地将工作人员和代理连接到 tcp 协议上,然后客户端连接到 tcp 上的代理。现在我正在评估工人和代理是否有可能在 ipc/inproc 协议上连接,而客户端将在 tcp 上连接到代理。我的工人和经纪人将在同一台机器上,甚至可能驻留在同一进程中。我的客户可以从不同的机器连接到我的代理,这就是它需要在 tcp 上的原因
Broker可以双向绑定吗?
是的,按照你的建议去做是没有问题的。每个 ZMQ 套接字的运行方式与代码中的其他套接字完全不同。混合连接协议以按照您希望的方式优化通信通常是有意义的。
我在这里做出的一个假设是您的代理有 2 组套接字:可以通过 TCP 连接的面向客户端的套接字和可以通过其他协议连接的面向工作人员的套接字。如果客户端和工作人员都连接到代理上的同一个套接字,那么它们必须通过相同的协议进行连接。
唯一需要考虑的是,您的工人是否将始终与您的经纪人处于同一流程中,或者它是否可能发展到可以将它们分开的程度。但是,如果您以某种可配置的方式定义您的套接字连接,而不是将其写入代码中,那么如果您决定更改内容,那么即使这也可能是一个相对容易的修复。