博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
大型在线游戏服务器架构分享
阅读量:7019 次
发布时间:2019-06-28

本文共 1305 字,大约阅读时间需要 4 分钟。

hot3.png

        游戏服务器首先必须是安全的,大型在线游戏理论上支持在线用户是无限的。我们无法一次性做到无限,但我们可以通过负载均衡做到高扩展性,高伸缩性,高可用以及支持高并发的游戏服务器。无论是游戏服务器架构还是web 服务器架构,如果前期设计不好,后边将面临着重构的风险。当然我们也要考虑以重构的方案。

        无论什么服务器架构都是从0到1 再到无穷的。我们只要把基础架构做好,上线之后可以慢慢进行扩展,甚至于重构。

022122_fhsw_1167885.png

        agent :代理服务器及登陆服务器,在该服务上进行维护用户登陆状态,以及作为其他服务器的转发。在上层可以加四层负载均衡(TCP负载均衡) ,通过这种方式实现在线用户数量的横向扩展。同时也处理通讯协议,与用户服务交互验证用户信息。

        logic:逻辑服务器,主要包括有:活动,奖励,关卡,背包,交易,技能,好友等逻辑处理。

        user:用户服务器, 用户安全验证,白名单,黑名单,登陆令牌生成,用户第三方账号绑定信息,用户角色信息,等处理。

        BA:战斗服务器代理,代理各种战斗服务器。由agent 将消息转发过来,在经过进一步数据处理,转发至具体的战斗服务或者具体的战斗服务器组,同时也可以作分区分服以及合服合区。BA和B灵活搭配可实现跨服,跨区战斗。

        B:战斗服务器/战斗服务组。用于处理针对性的战斗,也可以用于搭建高可用性的战斗服务器。

        IM: 聊天室,单聊,群聊,广播.以及通知推送功能。

        area: 选区服务,用户登陆完毕之后,显示区服列表,跨服跨区信息,区服维护状态。

        dbproxy:db 代理服务器。代理cache 和db 在架构中缓解cache和db压力。

        其他服务就不再一一叙述。

        通讯协议:

包长

用户ID

token

操作类型

请求序列号

客户端版本

消息内容

md5

token由agent在线用户定时(登陆成功)请求user 服务器生成,并通过心跳发给client的。客户端拿到之后,放进通讯协议中。客户端版本:可以通过后台管理设置禁用,也可以通过版本号,作服务器重构兼容客户的版本(虽然这个很不爽)。最好的还是通讯协议做好兼容。

        在服务架构内部采用rpc通讯。通过zk(zookeeper) 来作服务发现和服务集群。其中rpc 可分场景分别选取同步和异步方式。如用户登陆之后,采用异步rpc方式把用户的其他信息增加到cache.用户退出登陆时(客户端心跳失败之后)异步rpc 持久化用户数据。logic,user,BA,B,IM,area,dbproxy均为rpc和zk 实现内部通讯,都是zk上的一个节点。

        跨区服/合区服。只有将area ,B,BA,agent,client,通讯协议等参与协同工作才可实现。如跨服,通过area(选区服务)在 client 上可跨服战斗的列表。client 获取列表之后,转换成我们制定的通讯协议发送给agent服务。在转发给BA,由BA 找到相应的跨服服务器B。如合服,如果服务分服配置一致,也可直接在BA处进行合服;如果是复杂的分服,可参考跨服流程。

转载于:https://my.oschina.net/heavenly/blog/899059

你可能感兴趣的文章
“有本事就来抓我呀!”企业发现APT攻击平均需要205天
查看>>
女兒,今天是你的生日
查看>>
韩国美女黑客是怎样的一种存在?
查看>>
Linux基础命令介绍九:进程与内存
查看>>
实现翻转卡片的动画效果
查看>>
即时通信增长持续放缓,差异化与多元化成为趋势
查看>>
《认知设计:提升学习体验的艺术》——与学习者进行交流
查看>>
默认OpenStack安全组:如何更改规则?
查看>>
调查:网络提供商不能有效抵御DDoS攻击
查看>>
人工智能+人=强大的网络安全
查看>>
Office 2016七月更新:Word和Outlook更智能,PowerPoint新动效
查看>>
“十三五”公共安全科技创新规划涉及哪些安防概念?
查看>>
AI 科技评论和学术青年们的 GAIR 小聚会,面基就要freestyle|CCF-GAIR 2017
查看>>
国内首个14纳米硅片凸块量产 高通高端芯片“中国造”
查看>>
“Watson之眼”走出实验室,中国医疗机器人悄然崛起 | 未来医疗周刊
查看>>
依托大数据,医改要有基于标准体系的资源配置
查看>>
抢夺英特尔Mac订单 AMD拦路虎暂不成气候
查看>>
没落的雅达利要分智能家居市场一杯羹 有点晚
查看>>
晋能科技高效多晶组件助力吕梁多个扶贫项目顺利并网
查看>>
AI运算存储器需求仍靠外供 大数据或孕育新市场
查看>>