Nanomsg 组播带宽问题

Nanomsg multicast bandwidth issue

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

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

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

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

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

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