我正在设计一个Web应用程序(游戏)并计划使用C#/ .Net来实现。鉴于我想要实现的目标,我对可扩展性和性能表示担忧。这是应用程序。 有一个由许多王国组成的虚拟世界。战争发生在这些王国之间,争夺至高无上的地位。当游戏开始时,我希望实时显示世界的确切人口,即当人们出生时人口增加以及当他们在战争中死亡时(或其他情况),它会减少。因此,我的问题归结为一个由潜在的数千名游戏玩家更新并显示在网页上的数字。你如何实时管理这个。将数字存储在数据库中可能无法正常工作,因为它需要同时更新这么多次。还可以使用其他什么技术?这是No-SQL数据库,memcached,Hadoop的候选者吗?有什么建议吗? 非常感谢。
答案 0 :(得分:0)
将“更新”推送到客户端可能不是一个好主意,因为这会在流量变高时阻塞网络。相反,您应该每隔一秒左右查询一次填充,这样就会将任何瓶颈移到服务器的CPU上,这通常比网络连接快。
您可能需要某种数据库来存储人口数据,因为您需要跟踪查询之间的人口。
这种方法还可以防止客户端数据被破坏,而不是递增/递减,每次都替换数据。