立即咨询

电话咨询

微信咨询

立即试用
商务合作

腾讯云游戏业务容器化改造解决方案

腾讯云游戏业务容器化改造解决方案,整合负载均衡CLB、Pod绑定外网EIP方案及Nginx Ingress容器服务功能。支持游戏服务弹性扩缩、网络访问高效调度及流量智能分发,助力游戏企业简化部署流程,提升业务稳定性与运维效率。
立即咨询

 

icon典型战斗服的架构和技术特点icon
具体过程:
玩家们连接到某种匹配服务,匹配服务将玩家匹配分组
一旦玩家匹配成功,匹配服务通知游戏管理器在服务器集群中提供一个专属游戏进程
游戏管理器在集群中某台机器上创建专属游戏服务
游戏管理器给专属游戏服务分配IP地址和服务端口,并返回匹配器
匹配器将返回的IP地址和端口回传给玩家
玩家们直连到专属服务进程开始游戏
技术特点:
游戏存在难以预估的波峰波谷,需要快速的扩缩容
DS进程的启动时延要求很高,一般要求几秒钟,否则就会影响玩家体验
专属游戏服务器在内存中保留游戏信息,属于有状态应用,不可直接退出,需要保证用户对局结束,才能退出
DS的生命周期很短,一般只需保留几分钟或者几个小时
对网络延迟敏感,游戏服务需要直接对外提供服务,玩家直连
游戏需要频繁更新地图、道具等,需要频繁发版和灰度发布

 

 

icon工作负载选择icon

 

 

icon有状态服务 持久化存储对比icon
StatefulSet
PVC 关系:StatefulSet 每个 Pod 都将使用自己的 PVC
持久化存储:可使用 CFS / CBS,都支持 Pod 多副本
Deployment
PVC 关系:Deployment 所有 Pod 都将使用同一个 PVC
持久化存储:使用 CBS 只支持Pod单副本,使用CFS可支持 Pod 多副本

 

 
icon有状态服务 持久化存储配置icon
1、StatefulSet 多副本挂载 CBS 存储
2、StatefulSet 多副本挂载 CFS 存储
 

 

 

 

icon容器存储性能指标icon

 

 

 

icon玩家流量接入方式选择icon
游戏玩家直连战斗服 Pod 外网IP
每个集群可使用一个 StatefulSet 工作负载,采用多副本模式运行
游戏玩家直连Pod,长连接链路简单,可以使用 HPA/HPC 处理弹性伸缩
EKS 小规格资源供给相对充足,EIP 配额可根据场景评估调整
员游戏玩家通过 CLB 转发 Pod 方式进入战斗服
每个集群可使用一个 StatefulSet 工作负载,通过 pod-name label 为每个 sts Pod 单独创建一个 LoadBalancer 的 Service,提供战斗服接入外网IP
游戏玩家通过 LB 转发接入战斗服 Pod,长连接链路多一个层级

 

 

 

icon工作负载 固定内网IP / 外网IPicon

StatefulSet 固定内网IP、外网IP,同时设置响应的回收策略

 

 

icon为每个 Pod 绑定一个外网 CLBicon
1、StatefulSet 多副本挂载 CBS 存储
2、为 nginx-0 绑定 LoadBalancer 的 Service

 

 

icon客户案例——客户流量接入方式汇总icon

 

 

iconCLB Ingress Controllericon
优势
控制器监听 Ingress 直接修改操作 LB 绑定路由规则
网络流量从 LB 直接到业务 POD
缺点
不支持正则表达式路由规则
不支持 rewrite 修改 url 路径
不支持金丝雀发布等高级特性
业务 Service 必须是 NodePort 类型(GR网络模式)

 

 

 

iconNginx Ingress Controllericon

复用 Nginx Ingress Controller 的所有特性

开箱即用,支持节点池 Daemonset 和 Deployment 两种部署方式

可以使用普通 ClusterIP 类型业务 Service

 

 

iconNginx Ingress 限流能力icon
Nginx Ingress  部分限流配置项
limit-connections:单个IP地址可以同时并发连接的个数
limit-rps:限制单个IP每秒钟的请求数 (limit request per second)
limit-rpm:限制单个IP每分钟的请求数,limit-rpm的优先级高于limit-rps
limit-burst-multiplier:突发请求大小的系数,主要用来定义连接队列的长度,默认是5
limit-rate-after:超过多少流量后执行限速,单位是KB
limit-rate:单个连接每秒的限速值,单位是KB
limit-whitelist:设定IP白名单,在该白名单内的IP不被限速

 

 

iconIstio Ingress Gatewayicon

丰富的流量管控能力,灰度发布

跨集群服务发现和路由

地域感知就近路由

 

 

icon实现每个 Pod 独立配置文件icon
方案优势
每个 Pod 可以使用独立的配置文件,满足游戏业务不同 Pod 需要不同配置的需求(地图、难度级别、游戏规则、玩家数量...) initContainer是在应用程序容器之前启动的,可以保证业务 Pod 配置文件的正确生成
方案问题
使用 initContainer 需要在 StatefulSet YAML 内编写一些额外的代码来实现
需要使用StatefulSet工作负载类型,如果之前使用Deployment,
则会带来某些行为不一致的问题

 

 

icon有状态服务 Pod 扩缩容icon
1、Pod 优雅终止
要实现优雅终止,首先战斗服业务代码需要支持优雅终止的逻辑,在业务代码里面处理下 SIGTERM 信号,一般主要逻辑就是"排水",即等待存量的连接完全结束,再退出进程

 

 

iconPod 长连接场景及最佳实践icon
1、长连接 terminationGracePeriodSeconds 配置问题
长连接场景下,销毁 Pod 时需要的优雅终止时间可能较长  (preStop + 业务进程停止超过 30s),有的极端情况甚至可能长达数小时,这时候可以根据实际情况自定义 terminationGracePeriodSeconds,避免过早的被 SIGKILL 杀死。 具体设置多大可以根据业务场景最坏的情况来预估,比如对战类游戏场景,同一房间玩家的客户端都连接的同一个服务端 Pod,一轮游戏最长半个小时,那么就设置 terminationGracePeriodSeconds 为 1800
 

 

 

iconPod 内多容器共享内存方式icon
1、内存型 emptyDir 实现容器间内存共享
2、容器间内存共享 Java 操作代码示例

 

 

产品推荐

科脉蛙笑酒水行业经营管理解决方案
科脉蛙笑酒水行业经营管理解决方案,智能管理系统,全面提升门店运营效率。建立多方之间的关系,寻求高效共赢的合作模式。大数据洞察消费市场,提供精准有效的决策。智能技术升级带来便捷消费体验。
免费试用
查看详情
TuringSign TLS/SSL证书
Turingsign TLS/SSL 证书提供快速、安全且实惠的加密解决方案,涵盖 DV、OV、EV 及通配符证书,满足企业与个人网站的安全需求,支持 HTTPS 快速部署、数据传输加密及全浏览器兼容,并符合行业安全合规标准。
免费试用
查看详情
道一云CRM客户管理系统
道一云CRM客户管理系统拥有统一的客户商机管理,不丢客户,由人做事变成事找人,自动提醒跟进客户、推进商机、盘活客户、做好服务。共享客户资料,统一信息来源,协同配合度高。同时自定义匹配企业需求的业务流程,审批效率快。项目管理过程全监控,人、进度、费用一站式管理。
免费试用
查看详情
奇安信网神安全SD-WAN解决方案
奇安信网神安全SD-WAN解决方案,融合软件定义广域网SD-WAN与企业智能安全组网平台功能。支持广域网智能调度、安全防护一体化及业务快速部署,助力企业优化组网架构,强化数据传输安全,提升广域网运营效率。
免费试用
查看详情