我有一个100台机器的网络,都运行ubuntu linux。
在连续(流式)基础上,机器X被“馈送”一些实时数据。我需要编写一个python脚本,将数据作为输入,加载到内存中,进行处理,然后将其保存到磁盘。
这是很多数据,因此,理想情况下,我希望将内存中的数据(使用一些逻辑)拆分,然后以最快的方式将其中的一部分发送到每台计算机。每台计算机都会接受它的数据,处理它并将其写入本地磁盘。
假设我有一个python中的数据容器(比如一个列表、一个字典等),它已经被处理并分割成碎片。向每台机器发送每个“数据块”的最快方式是什么?

最佳答案

你有两种选择:
你可以自己建立一些分配机制。
您可以使用现有的工具来处理分发和存储。
在最简单的情况下,您可以在网络中的每台计算机上编写一个程序,该程序只需监听、处理和写入。从x开始循环分配到池中的每台计算机。但是,您可能希望解决更高级别的问题,如处理节点故障或处理比其他节点处理时间更长的请求、向系统添加新节点等。
当你想要更多的功能时,你可能想找到一些现有的工具来帮助你。听起来您可能想研究amqp(用于可靠消息传递)、hadoop(用于分布式数据处理)或更完整的nosql解决方案(如cassandra或riak)的一些组合。通过利用这些工具,您的系统将比您自己可能构建的系统更加健壮。

关于python - 将数据写入单个计算机的最快方法?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5541615/

10-13 02:35
查看更多