Transactions 锁定具有多个服务器的web应用程序

Transactions 锁定具有多个服务器的web应用程序,transactions,locking,flask-sqlalchemy,race-condition,flask-socketio,Transactions,Locking,Flask Sqlalchemy,Race Condition,Flask Socketio,我和朋友最近一直在制作一个游戏网站。我们网站的用户创建并加入由2-9名玩家组成的游戏。目前,我们有一个服务器实例处理我们站点的所有流量(主要是websocket连接)和一个相应的数据库。在过去,当来自同一个游戏的两个请求同时尝试更改数据库时,我们经历过竞争条件,因此我们在服务器后端为每个game.id(使用iLock库)实现了文件锁。这种行为有利于扩展吗?当使用多个服务器(即自动扩展)时,如Google App Engine,锁定的最佳实践是什么 非常感谢你

我和朋友最近一直在制作一个游戏网站。我们网站的用户创建并加入由2-9名玩家组成的游戏。目前,我们有一个服务器实例处理我们站点的所有流量(主要是websocket连接)和一个相应的数据库。在过去,当来自同一个游戏的两个请求同时尝试更改数据库时,我们经历过竞争条件,因此我们在服务器后端为每个game.id(使用iLock库)实现了文件锁。这种行为有利于扩展吗?当使用多个服务器(即自动扩展)时,如Google App Engine,锁定的最佳实践是什么

非常感谢你