【问题标题】:Nanomsg multicast bandwidth issueNanomsg 多播带宽问题
【发布时间】:2018-04-28 13:12:07
【问题描述】:

我可以在 nanomsg 的 pub/sub 协议中进行纯多播吗? 由于可以有 N 个订阅者对单个发布者的特定数据感兴趣,相同的订阅数据在 N 个不同的流中流动。如果我的单个流的带宽是 10MB,那么 N 个流所需的总带宽是 10*N,因此带宽增加了。我们可以像在多播中那样减少这个带宽吗?有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: linux scalability publish-subscribe multicast nanomsg


    【解决方案1】:

    据我了解 PUB/SUB 模式,数据会一一发送给所有订阅者。如果订阅者还没有准备好接受它,则数据将被丢弃。我相信PUB/SUB中的数据是按顺序发送的。

    但是,如果您使用 PUSH/PULL 模式,您可以更好地控制数据的发送方式。 您可以拥有 N 个 PULLers 和一个 PUSHer。 PUSHer 会将数据一一发送给所有的 PULLer。不同之处在于您可以控制时间并且可以等待较慢的 PULLers。

    如果您不喜欢多次传输,我能想到的唯一其他机制是共享内存。一个发送者和多个接收者。不过,这种情况仅适用于单台计算机。

    所以,答案是否定的。您不能在 nanomsg pub/sub 协议中进行纯多播。如果您需要纯多播,则必须查看其他协议。 也许传入的nng 可以通过 UDP 提供它。

    如果多播是必须的,您必须检查其他协议,例如 NACK-Oriented Reliable Multicast (NORM).

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-10-01
      相关资源
      最近更新 更多