我是游戏服务器开发人员。我正在为我的游戏服务器(SmartfoxServer 2x)使用hazelcast来避免直接请求db。但是我想知道如何使用hazelcast来获得最好的表现:
正确的方法是什么?我的系统服务于大约5000 CCU。
我的游戏是一种以牌为基础的游戏。每场比赛大约在2分钟内进行,最多有4名玩家。当它结束时,我必须记录每一个交易(钱的变化),和新的货币价值为用户。对于5000个ccu,在最坏的情况下,同时需要记录( 5000 /4) * (4 + 4) = 10000条目。它不能直接使用mysql查询(慢速),但是使用hazelcast,这是可能的,对吗?但我是哈泽尔卡斯特的新手,所以我不知道怎样才能解决我的问题。
提前感谢,
发布于 2014-07-24 08:32:27
最好的答案是3或4。当我在游戏行业工作时,我使用Hazelcast不是作为缓存,而是用于分发/集群游戏玩家本身。因此,我的游戏玩家本身就是集群的一部分。如果您想拥有一个专用的数据库缓存集群,只需使用一个客户端,就可以与游戏服务器一起启动它,并在游戏服务器本身还活着的时候保持它的活力。它是内部池的,客户端足够聪明,几乎在所有情况下都可以将请求路由到正确的集群节点。如果您想将其用于不仅仅是缓存,我会将游戏服务器作为集群本身的一个节点。请记住,每个节点都持有数据的一部分,这可能不是您希望玩家充当数据库缓存的结果。
https://stackoverflow.com/questions/24928377
复制相似问题