跨网络python应用程序同步

时间:2017-09-11 09:26:26

标签: python-2.7 network-programming synchronization

我希望这个问题不是太模糊......

我正在编写一个python应用程序,它将拥有多个自身实例,以实现负载平衡和冗余。

每个实例都需要能够读取和写入后端数据库,这会引发两个尝试更新同一项目的“网关”问题。

有人可以推荐一种方法(主要不是寻找代码解决方案)吗?

提前谢谢你;)

1 个答案:

答案 0 :(得分:0)

您主要有两种方法可以避免丢失数据集的一致性:

  • 要么在python进程之间使用一些锁机制,
  • 或在访问数据库时使用事务。

锁定机制必须基于进程间通信。根据您的底层操作系统,您可以访问共享内存(考虑测试和设置原语,使用共享内存实现此目标),信号量和其他工具。例如,参见Python IPC:https://docs.python.org/2/library/ipc.html

交易取决于您的数据库。例如,对于传统的SQL数据库,您通常可以根据需要配置行为:自动提交,乐观并发等...