【发布时间】:2013-12-16 21:59:44
【问题描述】:
我们正在构建一个 HTML5 MMO,它将利用 AJAX 调用对用 Python 编写的 REST API 执行操作(购买、出售、构建、交易、发送、攻击)。
我们这个项目的第二部分是一个 Java 服务器,它每隔一段时间用玩家统计数据更新数据库(我们的服务器滴答是每 5 秒一次,因为性能原因)
Update town SET "currency" = "currency" + "currency_rate"
//each player can own an average of 100 towns and
//we are benchmarking with 50k for right now
该查询将根据他们的汇率更新他们的货币。这个查询用 50k 更新货币需要 2.6 秒,但我们还有其他几个字段,金属、陶瓷、食品和人口。
问题:使用这种技术,我们只能让服务器至少每 3 秒进行一次滴答。我们如何解决这个问题。您如何不断更新数千个条目?
我们的第二个解决方案:我们将大部分城镇加载到并发哈希图中,java 将使用它作为临时数据库并每分钟更新整个数据库。 (API 将是 Java 服务器)
【问题讨论】:
-
你想每 3 秒将游戏的整个状态持久化到数据库吗??
-
这个想法是服务器不断更新玩家的统计数据。我正在寻找一种解决方案,说明如何创建一个处理此类持续更新的服务器。
-
@CrisG 多线程?
标签: java mysql database performance postgresql