韩伟:解谜腾讯游戏海量服务架构

网络游戏和其他互联网服务一样,需要面对承载海量用户的压力,同时还需要满足游戏所要求的低延迟、业务逻辑高复杂度的特性。腾讯游戏研发部资深架构师韩伟为大家带来了“解谜腾讯游戏海量服务架构”的主题分享。

韩伟

对于游戏开发者来说,全区的好处在于开服合服很简单。这个简单体现在三点。第一是把两个服务器合在一起导入并且合并数据,第二是负载均衡,运维操作比较简单。第三点就是有稳定性,全区架构中的所有服务器都是玩家的备份服务器,只要架构有足够弹性,就可以在一部跟服务器出故障的情况下使玩家不受影响。

韩伟讲解到,全区架构的核心就是要有分布式的设计和实践,而分布式系统的门槛就是通信和缓存。因为多个进程之间的相互协作就需要一个很好的通信机制。此外,由于游戏服务是一个带状态的服务,它的进程里面往往是存有很多数据而且玩家会频繁发出指令,延迟要求十分苛刻,但问题就在于很多机器、进程之间的内存是不通的,要让它们协调运作就需要考虑到缓存的事情。

韩伟接着介绍了腾讯云对于游戏的分布进程集群图。在集群图中,不管介入进程也好,逻辑进程也好,都是在一个统一的集群当中。在腾讯的实践当中,有的项目使用这个来充当集群中心,即由一个集群中心管理。有了集群中心,集群进程之间才能互相知道后面有哪些服务,该发给谁,或者任何一个逻辑进程只负责某一个功能。当然,腾讯还有别的集群方案,比如区域中心化的管理系统,在这个集群中,每一个逻辑进程其实都相当于小的集群中心,它们会自己相互协调。它们当中的任意节点都能够充当这个集群中心的管理。在腾讯的实际运营中,我们发现,把进程放在不同的服务器上运行,可以达到负载均衡。因为如果机器本身能力强大的话,可以把一些不同功能的服务拆分到不同进程中。所以如果某个进程出现问题,可以在代码层面很快得知哪一块可能是有问题的,不用在全功能的代码里排查问题。

接下来,韩伟介绍了腾讯云的分布式通信,虽然都是运用消息队列技术,但和现在的分布式通信不同的是,腾讯的消息队列不一定有一个消息队列服务的进程,而每一个消息的收发端可能都是一个消息队列服务,这样可以明显减少50%的传递时间。腾讯攻破的另一难点就是数据储存。腾讯的分布式储存系统可以达到负载均衡。当主机断了时,可以很快切换到热备机上,数据也不需要准备,因为每个数据储存其实都是同步的。

对于第二个门槛——缓存,韩伟指出最大的问题就是有异常,比如有逻辑根据客户端计算下来的结果,就不能访问原来的进程,可能访问到别的进程上面去。而腾讯云的服务器集群之间,逻辑进程还是会按照正常的哈希结果,把这个数据转化给有缓存的地方,这样对于客户端来说,就相当于连接哪个都是相同的,只是连接错误的延迟会稍高一些。

韩伟:解谜腾讯游戏海量服务架构.pptx

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Golang语言社区

我们是怎么做Code Review的

前几天看了《Code Review 程序员的寄望与哀伤》,想到我们团队开展Code Review也有2年了,结果还算比较满意,有些经验应该可以和大家一起分享、探...

3523
来自专栏编程微刊

推荐一款稳定快速免费的前端开源项目 CDN 加速服务

前面学习到什么是CDN,全称是Content Delivery Network,即内容分发网络。CDN的通俗理解就是网站加速,CPU均衡负载。

6731
来自专栏微服务生态

跟着小程来学微服务--微服务思想

一直对微服务非常感兴趣,因为公司的架构改造正好有机会能够接触微服务,买来一些书,请教了很多微服务大牛同时自己也做了很多总结,写成了80页ppt,算是我对微服务的...

925
来自专栏数据和云

【从根源出发,化风险为可控】应用到数据库的连接数管控

作者介绍 ? 巩飞(Morinson) 云和恩墨技术专家 网名Morinson,现服务于云和恩墨西北区,有14年在IT公司的技术类工作经验,特别是在 Ora...

3175
来自专栏腾讯云TStack专栏

腾讯私有云MySQL解决方案—TDSQL

TDSQL是腾讯提供的一套完整的MySQL数据库集群化管理解决方案,作为私有云TStack平台重要的数据库产品能力,旨在解决高可用、高性能、分布式、配套设施等方...

7639
来自专栏原创

个推技术实现原理介绍

概述 PUSH是互联网上内容提供者和内容定制方之间的一种通信机制,利用在服务器端的程序把数据源源不断地推向客户端,大大提高客户机和服务器之间的交互性能。 传统互...

4907
来自专栏子勰随笔

SDK开发经验之版本

5629
来自专栏一名叫大蕉的程序员

分布式架构的套路No.74

今天小蕉跟大伙一起聊聊分布式系统的架构的套路。在开始说套路之前,大家先思考一个问题,为什么要进行分布式架构? 大多数的开发者大多数的系统可能从来没接触过分布式...

2227
来自专栏直播系统开发

专业直播APP开发服务商教你直播平台搭建需要准备些什么——流媒体CDN服务篇

网络直播可谓是近年来互联网的“热门关键词”,如今直播平台已经深入到了各行各业,诞生了数不尽的行业解决方案。这些解决方案都离不开直播系统源码,通过一套功能全面的直...

4274
来自专栏CSDN技术头条

微博热点事件背后数据库运维的“功守道”

【导语】 微博拥有超过3.76亿月活用户,是当前社会热点事件传播的主要平台。而热点事件往往具有不可预测性和突发性,较短时间内可能带来流量的翻倍增长,甚至更大。如...

28010

扫码关注云+社区

领取腾讯云代金券