gpt4 book ai didi

c - 集群通信中的 UDP 与 TCP

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

我正在开发一个将在 HP Blade /Linux 上运行的软件,每个 Blade 将有多个程序,我正在考虑使用 UDP 进行 IPC 通信。 Blade /程序之间的消息大小不会超过 400 字节。

我以前使用过 TCP,但我没有使用 UDP 的经验,所以这里的问题是,根据您的经验,使用 UDP 进行集群通信是否明智?

最佳答案

这取决于您对可靠性的要求。如您所知,UDP 不提供交付保证,甚至不提供排序保证(数据包可能会乱序到达)。如果您的应用程序能够容忍这种情况,或者如果您可以使用相对简单的代码使其能够容忍,UDP 绝对是更好的选择 - 它具有更低的延迟、更低的开销,并且在编程上更易于处理。

如果可靠性是绝对要求,那么除非您真的是硬核并试图从集群中榨取最后一点性能,否则请使用 TCP。否则,您只会发现自己试图重新发明 TCP 用于保证可靠性的机制,而且您可能不会像 TCP 那样做得好(它已经进行了数十年的调整和调整)。

另请注意,在小型 LAN 上,尽管缺乏任何保证,UDP 还是相当可靠的,但即使在完美的设置中,您仍然不得不期待偶尔会丢失数据包。集群的网络越复杂,系统的带宽利用率越高,它的可靠性就越低。

关于c - 集群通信中的 UDP 与 TCP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20792301/

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