【问题标题】:which zmq pattern can I use for router communications?我可以使用哪种 zmq 模式进行路由器通信?
【发布时间】:2017-03-14 03:04:07
【问题描述】:

我想通过 TCP 点对点连接。我可以使用哪种 zmq 模式连接它们?我需要为每一方提供服务器/客户端吗?

【问题讨论】:

    标签: python-2.7 python-3.x zeromq pyzmq


    【解决方案1】:

    您可以为 p2p 使用多种模式。

    以下是套接字功能的简要说明:

    1. REQ-REP 同步套接字对。 优点: 在到达 HWM 时不会丢弃消息。 缺点:这对socket是同步阻塞的,也就是说如果REQ socket发送了一个消息,它将永远等待一个回复,没有回复,只有重新创建后才能再次使用。
    2. DEALER-ROUTER 异步套接字对。 优点:这些套接字没有阻塞,你可以路由你的消息,但是缺点:它达到了 ROUTER 套接字的 HWM,它会丢弃消息,并且没有 API 可以让你了解它。
    3. PUSH-PULL 异步套接字对。 优点: 没有阻塞,没有消息丢失,异步,缺点: 没有路由,因此它非常适合 p2p,但如果您有 1 对 N 连接,所有消息都将是循环分发

    如果你有 N-to-N 或者你的同行来来去去而你没有发现服务,你可以使用任何带有 broker 的模式(但你必须自己实现 broker,这并不难)。

    这里是The Guide,你可以在那里找到很多关于python的例子。

    【讨论】:

    • 感谢您的回答,我为每个路由器使用了发布/订阅者
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 2015-11-04
    相关资源
    最近更新 更多