Java 如何处理远程数据库连接故障

Java 如何处理远程数据库连接故障,java,mysql,Java,Mysql,我计划有一个游戏服务器,远程托管一个数据库,该数据库将存储来自游戏服务器的关于玩家的所有信息。我的问题是,如果游戏服务器与远程数据库失去连接,并且在给定时刻无法保存玩家,那么最好怎么做 我唯一的想法是在游戏服务器上建立一个本地数据库和一个辅助数据库连接,并在本地保存玩家。一旦连接恢复,我会以某种方式将远程数据库与本地数据库同步。(也不确定如何有效地做到这一点)答案将取决于信息的重要性。如果用户在设备之间移动只是为了“云存储”,那么与服务器同步的本地化缓存是一个可行的解决方案。如果信息是时间敏感的

我计划有一个游戏服务器,远程托管一个数据库,该数据库将存储来自游戏服务器的关于玩家的所有信息。我的问题是,如果游戏服务器与远程数据库失去连接,并且在给定时刻无法保存玩家,那么最好怎么做


我唯一的想法是在游戏服务器上建立一个本地数据库和一个辅助数据库连接,并在本地保存玩家。一旦连接恢复,我会以某种方式将远程数据库与本地数据库同步。(也不确定如何有效地做到这一点)

答案将取决于信息的重要性。如果用户在设备之间移动只是为了“云存储”,那么与服务器同步的本地化缓存是一个可行的解决方案。如果信息是时间敏感的,那么您需要准备以某种有意义的方式“阻止”或“断开”用户way@MadProgrammer游戏服务器会在玩家注销时尝试保存玩家,我计划在玩家登录时向其帐户添加一个标志,表明他们已登录。我只是不确定是否应该继续尝试在游戏服务器中重新连接,并在连接恢复时排队查询。如果他们在断开连接的状态下“退出”,会发生什么情况?至于你的问题,那将取决于数据对玩家玩游戏的重要性。如果您只是存储分数/统计数据,那么拥有一个本地数据库是一个很好的解决方案,然后随着时间的推移将其同步回服务器。如果它是更关键的东西,那么你需要考虑将玩家置于“断开”状态,并限制他们可以做什么,直到你再次连接。无论哪种情况,某种本地缓存都不是一个坏主意。我认为这可能也是最好的主意。您对恢复连接后如何使用本地数据库更新远程数据库有何建议?数据同步不是一个小话题,如何/什么将在很大程度上取决于您拥有的数据。问题的一部分是确定数据创建的时间,因此您可以按正确的方向更新数据