我有一个Python / Django应用程序,我们希望根据负载进行水平缩放。一旦扩大规模,我们将拥有多个Django服务器(在不同的VM上运行)和单个postgreSQL服务器。
如何在不共享任何状态/信息的服务器之间进行事务管理?
当我们想提交交易时,我们是否应该明确地对行/表等进行锁定?
答案 0 :(得分:2)
如何在不共享任何状态/信息的服务器之间进行事务管理?
这就是您的数据库已经为您做的事情。
当我们想提交交易时,我们是否应该明确地对行/表等进行锁定?
为什么呢?您的数据库已经为您完成了这项工作。
只需使用普通的Django交易功能。
https://docs.djangoproject.com/en/1.3/topics/db/transactions/
单个数据库已经是最简单的水平可扩展解决方案。没什么好担心的。