一直在阅读有关该主题的一些信息,出于好奇,在线游戏维护了一个列出游戏的“游说”系统;
他们如何使每个客户端与当前游戏列表状态保持同步?
我说的是“客户端要求更新游戏列表”的术语,而不是事件驱动的术语(游戏的状态发生变化并立即广播它<---不可扩展!)。
可能的场景:
一台服务器拥有 5000 个与在线玩家的连接。
它有一个包含 1000 个游戏的列表。
客户要求每隔一秒更新一次游戏列表。
现在服务器需要遍历所有游戏列表并比较每个特定游戏的最后更新时间,然后如果它看到玩家的最后更新较旧,它将发送更新。
这意味着每一秒都会有 (5000 * 1000 = 5,000,000 )次迭代!
有什么实用的方法可以避免吗?
你已经这样做了吗,可以和我分享一个小费吗?
我一直在考虑有一个缓存。你的解决方案是什么?