我希望这个问题不是太模糊......
我正在编写一个python应用程序,它将拥有多个自身实例,以实现负载平衡和冗余。
每个实例都需要能够读取和写入后端数据库,这会引发两个尝试更新同一项目的“网关”问题。
有人可以推荐一种方法(主要不是寻找代码解决方案)吗?
提前谢谢你;)
答案 0 :(得分:0)
您主要有两种方法可以避免丢失数据集的一致性:
锁定机制必须基于进程间通信。根据您的底层操作系统,您可以访问共享内存(考虑测试和设置原语,使用共享内存实现此目标),信号量和其他工具。例如,参见Python IPC:https://docs.python.org/2/library/ipc.html
交易取决于您的数据库。例如,对于传统的SQL数据库,您通常可以根据需要配置行为:自动提交,乐观并发等...