首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用SmartFoxServer实现黑兹尔广播

用SmartFoxServer实现黑兹尔广播
EN

Stack Overflow用户
提问于 2014-07-24 08:12:17
回答 1查看 454关注 0票数 2

我是游戏服务器开发人员。我正在为我的游戏服务器(SmartfoxServer 2x)使用hazelcast来避免直接请求db。但是我想知道如何使用hazelcast来获得最好的表现:

  1. 始终在访问缓存并关闭缓存时创建新的hazelcast客户端实例。或
  2. 创建一个hazelcast客户端实例池,并进行重用。永远不要关闭直到应用程序结束。或
  3. 只创建一个hazelcast客户端实例,直到应用程序结束时才关闭。或
  4. 让我的实时服务器成为hazelcast成员。

正确的方法是什么?我的系统服务于大约5000 CCU。

我的游戏是一种以牌为基础的游戏。每场比赛大约在2分钟内进行,最多有4名玩家。当它结束时,我必须记录每一个交易(钱的变化),和新的货币价值为用户。对于5000个ccu,在最坏的情况下,同时需要记录( 5000 /4) * (4 + 4) = 10000条目。它不能直接使用mysql查询(慢速),但是使用hazelcast,这是可能的,对吗?但我是哈泽尔卡斯特的新手,所以我不知道怎样才能解决我的问题。

提前感谢,

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-24 08:32:27

最好的答案是3或4。当我在游戏行业工作时,我使用Hazelcast不是作为缓存,而是用于分发/集群游戏玩家本身。因此,我的游戏玩家本身就是集群的一部分。如果您想拥有一个专用的数据库缓存集群,只需使用一个客户端,就可以与游戏服务器一起启动它,并在游戏服务器本身还活着的时候保持它的活力。它是内部池的,客户端足够聪明,几乎在所有情况下都可以将请求路由到正确的集群节点。如果您想将其用于不仅仅是缓存,我会将游戏服务器作为集群本身的一个节点。请记住,每个节点都持有数据的一部分,这可能不是您希望玩家充当数据库缓存的结果。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24928377

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档