linux 为什么共享内存方法不适合大规模数据流?

tpgth1q7  于 2022-12-11  发布在  Linux
关注(0)|答案(1)|浏览(97)

根据post,它说[强调我的]:现代应用程序经常处理流数据,事实上,处理大量的数据流。***共享文件和共享内存方法都不适合处理大量的数据流。***一种类型的通道或另一种类型的通道更适合。因此,第2部分介绍了通道和消息队列,同样使用C语言的代码示例。
我的问题是,为什么共享内存方法不适合大规模的数据流。有人能更详细地解释一下吗?

mzmfm0qo

mzmfm0qo1#

共享内存可以比消息队列更有效地传递任何需要传递的数据。共享内存基本上没有通信开销。但是,共享内存是有限的,因为它只能用于与运行在同一主机上的进程进行通信。
“海量数据流”通常在服务器集群上处理。在这种情况下,更希望能够根据负载启动新的进程,使进程在多个服务器上运行。
可以设计一种方案,在本地服务器上使用共享内存,并在跨服务器时联网,但这会增加复杂性。此外,如果大多数进程间通信是跨服务器的,则共享内存的额外复杂性

相关问题