python - 如何在许多计算机之间共享文件

时间:2015-02-07 23:46:18

标签: python

我的python进程在不同的机器上运行。它由经理和许多工人组成。每台机器中的工作者都是多线程的,需要将一些数据(例如其状态)更新到驻留在另一台机器上的管理器。我不想使用mysql,因为许多其他进程已经在它上面执行了许多查询,它将达到其max_connection

我有两种方法:

  1. 对于每个工作线程,将数据写入本地文本文件。单独的bash脚本将运行while循环,检查文件更改并将此文件scp到所有其他计算机。

  2. 对于每个工作线程,将数据写入共享内存并将其复制到所有其他计算机。我不知道该怎么做。在python中如何写入共享内存?我怎样才能复制共享记忆?

1 个答案:

答案 0 :(得分:1)

好的,第一点是你不能在机器之间共享内存,除非你是一个非常专业的架构。 (大规模并行机器,Beowulf集群等。)

如果您要共享代码,请将您的代码打包到一个真正的Python包中,并使用Chef,Puppet或Docker等工具进行分发。

如果您要共享数据,请使用您的所有工作人员都可以访问的某种数据库。我喜欢MongoDB,因为它很容易与应用程序匹配,但是还有一百万个其他数据库。很多人使用mysql或postgresql。