将数据写入单个计算机的最快方法?

2024-03-28 20:43:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个由100台机器组成的网络,都在运行Ubuntu Linux。在

在连续(流)的基础上,机器X被“馈送”一些实时数据。我需要编写一个python脚本,将数据作为输入,加载到内存中,进行处理,然后保存到磁盘上。在

它有很多数据,因此,理想情况下,我希望将数据拆分到内存中(使用一些逻辑),然后以尽可能快的方式将数据片段发送到每台单独的计算机上。每台单独的计算机将接受它的数据块,处理它并将其写入本地磁盘。在

假设我在Python中有一个数据容器(可以是一个列表、一个字典等),已经被处理并分割成碎片。向每台机器发送每一个“数据”的最快方式是什么?在


Tags: 数据内存网络脚本机器ubuntulinux计算机
3条回答

您需要的是一个类似RabbitMQ的消息队列。将消费者和生产者添加到队列中很容易。消费者既可以投票,也可以通过回调获得通知。。。在

您有两种选择:

  1. 你可以自己建立一些分配机制。在
  2. 您可以使用现有的工具来处理分发和存储。在

在最简单的情况下,您在网络中的每台计算机上编写一个程序,该程序只需侦听、处理和写入。您将从X分发到池中的每台计算机。但是,您可能需要解决更高层次的问题,如处理节点故障或处理比其他节点处理时间更长的请求、向系统添加新节点等

由于您需要更多的功能,您可能需要找到一些现有的工具来帮助您。听起来你可能需要研究AMQP(用于可靠消息传递)、Hadoop(用于分布式数据处理)或更完整的NoSQL解决方案(如Cassandra或Riak)的一些组合。通过利用这些工具,您的系统将比您自己构建的系统更加健壮。在

相关问题 更多 >