吴晓斌:"吃鸡"游戏全球多地部署架构分析
“吃鸡”游戏最近十分流行。针对“吃鸡”类游戏在反外挂、加速、安全等方面的需求,腾讯游戏云资深架构师吴晓斌在现场为大家带来了“‘吃鸡’游戏全球多地部署架构分析”的主题分享。
吴晓斌主要从两个方向介绍了“吃鸡”的游戏架构。
第一个是“吃鸡”游戏架构的解析。在架构中,gamesvr分为PVP(玩家对战玩家)模块和PVE(玩家对战环境)模块,整个流程就是从客户端发请求到大厅,大厅根据用户进行匹配,如果选择PVP,就会根据玩家对战的信息,跟用户数据进行匹配,落到对应的服务上面去。这个架构既支持全球部署,也支持分地域的部署。
从游戏架构可以看出“吃鸡”类游戏主要有4个特点。
1、高并发需求。
多人同时在一张地图上,这就需要服务端有高并发保量的处理能力和大流量吞吐能力。腾讯云在CPU上会采用高频的机器,比如32核,这样就能满足计算的要求。另外,由于一般的机型只能达到8万pps,而多队列可以达到40万pps,所以腾讯云针对“吃鸡”类游戏采用的是多队列的方案。
2、低延迟。
众所周知竞技类游戏用户是非常在意延迟的,所以这是在业务部署的时候需要考虑到的一个问题,即保证每个玩家的网络延时和稳定性要求。腾讯云提供的解决方案是全球共用多套Lobby,统一管理和调度全球各地区服,比如东南亚的玩家通过加速代理来访问国内的Lobby服务或者DS服务。
3、反外挂。
反外挂泛滥容易影响到游戏平衡。腾讯主要在五个方面来应对外挂的问题。第一是从战略上重视,比如腾讯成立了反外挂的小组来专门应对游戏外挂。第二是技术上的支持,会有接入腾讯的TP的反外挂的保障。第三点是建立腾讯的信用体系。第四是玩家会有一个举报系统来反馈外挂问题,最后一点就是会结合线下的打击。在客户端中,腾讯云采集玩家游戏的行为数据在后端进行大数据分析和处理。在安全方面,腾讯云采用的是BGP 加三网的高防解决方案来应对大流量的网络攻击。
4、游戏语音。
游戏语音能给游戏带来很多玩法。《绝地求生》引入了3D的效果,这样用户就可以听到全方位的声音,使吃鸡更有身临其境的效果,可以通过语音来指挥组内其他同伴的战斗,也可以通过声音判断其它玩家的位置。
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python 技术篇-打开指定文件夹、目录、路径方法,运行指定文件演示
- Python 技巧篇-同一个方法多次引用不同效果功能实现,可选参数设置方法
- Kafka核心API——Connect API
- PyQt5 技术篇-设置alignment对齐方式。Qt Designer设置文本对齐方式。居中、左对齐、右对齐、上对齐、下对齐。
- Nginx部署Vue项目以及解决刷新页面404
- Kafka核心API——Stream API
- Kafka核心API——Consumer消费者
- Kafka核心API——Producer生产者
- Linux Lab v0.5 正式发布,功能强大,用法简单
- Kafka核心API——AdminClient API
- PyQt5 技术篇-调用颜色对话框(QColorDialog)获取颜色,调色板的调用。
- Kafka的安装与配置
- PyQt5 技术篇-如何彻底删除控件?布局移除控件方法。
- PyQt5 技术篇-设置滚动条拉动位置,scrollArea滚动条位置设置方法。
- CentOS8更换yum源后出现同步仓库缓存失败的问题