gpt4 book ai didi

linux - 组播和集群

转载 作者:太空宇宙 更新时间:2023-11-04 04:52:33 25 4
gpt4 key购买 nike

我打算使用Ganglia用于集群监控,并向我们的管理层展示了 O'Reilly 书中关于 Ganglia 的以下图片:

enter image description here

他们在这张图片中看到了“多播”,并表示出于性能原因,这对于集群来说是“大忌”。我的印象完全相反——多播协议(protocol)比单播协议(protocol)配置更简单,更经济、更有效。

集群设计者应该害怕多播的重要原因是什么?

最佳答案

多播的主要潜在“陷阱”是许多网络交换机没有实现 IGMPv3 (或 MLDv2 对于 IPv6),相反,它们只是将每个多播数据包广播到 LAN 上的每个设备,并依靠每个设备的 IP 堆栈在本地过滤掉任何不相关的传入多播数据包。这在技术上是可行的(并保持交换机的实现简单),但它确实意味着 LAN 上的任何慢速设备如果必须投入大量网络带宽和/或 CPU 时间来检查和丢弃它们从未要求的大量多播数据包,则可能会遇到性能问题。

另一方面,多播(或广播)实际上是执行 LAN 上设备自动发现等操作的必需条件,因为除非您已经知道该设备的 IP 地址,否则您无法使用单播通信与其他设备进行通信。

那么,我的建议是使用多播进行发现、心跳和其他低带宽流量,但如果您计划执行一些高带宽操作(例如视频流或批量数据传输),则要么计划能够回退到单播,要么确保您的交换机实现 IGMPv3/MLDv2,而不是到处发送垃圾邮件多播数据包。

最后一点:WiFi 在组播方面确实很糟糕 - 由于 WiFi 组播的实现方式很不幸,即使是适量的组播流量也会使 WiFi 路由器崩溃。因此,如果您计划使用多播,您可能需要将所有 WiFi 路由器完全排除在 LAN 之外,或者至少确保您可以将它们设置为过滤掉多播数据包,而不是尝试将它们转发到其 WiFi 客户端。

关于linux - 组播和集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54297995/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com