对于游戏开发者来说,全区的好处在于开服合服很简单。这个简单体现在三点。第一是把两个服务器合在一起导入并且合并数据,第二是负载均衡,运维操作比较简单。第三点就是有稳定性,全区架构中的所有服务器都是玩家的备份服务器,只要架构有足够弹性,就可以在一部跟服务器出故障的情况下使玩家不受影响。
韩伟讲解到,全区架构的核心就是要有分布式的设计和实践,而分布式系统的门槛就是通信和缓存。因为多个进程之间的相互协作就需要一个很好的通信机制。此外,由于游戏服务是一个带状态的服务,它的进程里面往往是存有很多数据而且玩家会频繁发出指令,延迟要求十分苛刻,但问题就在于很多机器、进程之间的内存是不通的,要让它们协调运作就需要考虑到缓存的事情。
韩伟接着介绍了腾讯云对于游戏的分布进程集群图。在集群图中,不管介入进程也好,逻辑进程也好,都是在一个统一的集群当中。在腾讯的实践当中,有的项目使用这个来充当集群中心,即由一个集群中心管理。有了集群中心,集群进程之间才能互相知道后面有哪些服务,该发给谁,或者任何一个逻辑进程只负责某一个功能。当然,腾讯还有别的集群方案,比如区域中心化的管理系统,在这个集群中,每一个逻辑进程其实都相当于小的集群中心,它们会自己相互协调。它们当中的任意节点都能够充当这个集群中心的管理。在腾讯的实际运营中,我们发现,把进程放在不同的服务器上运行,可以达到负载均衡。因为如果机器本身能力强大的话,可以把一些不同功能的服务拆分到不同进程中。所以如果某个进程出现问题,可以在代码层面很快得知哪一块可能是有问题的,不用在全功能的代码里排查问题。
接下来,韩伟介绍了腾讯云的分布式通信,虽然都是运用消息队列技术,但和现在的分布式通信不同的是,腾讯的消息队列不一定有一个消息队列服务的进程,而每一个消息的收发端可能都是一个消息队列服务,这样可以明显减少50%的传递时间。腾讯攻破的另一难点就是数据储存。腾讯的分布式储存系统可以达到负载均衡。当主机断了时,可以很快切换到热备机上,数据也不需要准备,因为每个数据储存其实都是同步的。
对于第二个门槛——缓存,韩伟指出最大的问题就是有异常,比如有逻辑根据客户端计算下来的结果,就不能访问原来的进程,可能访问到别的进程上面去。而腾讯云的服务器集群之间,逻辑进程还是会按照正常的哈希结果,把这个数据转化给有缓存的地方,这样对于客户端来说,就相当于连接哪个都是相同的,只是连接错误的延迟会稍高一些。
用户评论
看了这个标题我就觉得像是在说某个大神分享腾讯游戏后台如何进行复杂运算的问题,挺专业的!
有5位网友表示赞同!
韩伟的大名一出就知道这篇不是一般的介绍文了,期待了解更多具体的技术细节。
有20位网友表示赞同!
好奇的是海量服务架构下解谜的过程会不会很酷,想象一下用逻辑解开背后的秘密。
有8位网友表示赞同!
对于游戏玩家来说可能不太理解这背后的架构技术,但看标题感觉很有深度,可以作为技术人员的学习参考。
有18位网友表示赞同!
希望能通过这篇分享了解到游戏行业如何解决并发压力与大数据处理,毕竟这是关键问题。
有14位网友表示赞同!
韩伟的这个专题应该会吸引一大批对游戏技术背景感兴趣的小伙伴们。
有8位网友表示赞同!
在海量用户的背景下做到服务流畅,背后的技术架构肯定是相当有看点和挑战性的。
有6位网友表示赞同!
想了解一下腾讯是如何用解谜的方式去优化他们的游戏架构,挺好奇他们是怎么做的。
有17位网友表示赞同!
韩伟这次分享的可能是非常具体的技术方案,期待看到一些实际案例分析。
有5位网友表示赞同!
对技术感兴趣的玩家可能会觉得这篇内容是游戏背后的神秘面纱,会很吸引人。
有15位网友表示赞同!
海量服务架构听起来很有挑战性,解谜的元素应该让这个话题更加吸引人。
有10位网友表示赞同!
想一探究竟,在众多游戏玩家中如何实现无缝连接和服务响应速度。
有5位网友表示赞同!
感觉这里会有不少关于并发、负载均衡以及弹性伸缩策略的内容,挺期待能学到些新知识。
有13位网友表示赞同!
对于那些对游戏底层运行机制感兴趣的人来说,韩伟的这篇分享可能会是一剂强心针。
有16位网友表示赞同!
解谜的概念用在游戏服务架构上,听起来就很新颖和有趣,让人想深入了解。
有11位网友表示赞同!
想要了解一下,在这个结构下如何处理不同玩家的需求同时保证服务质量。
有18位网友表示赞同!
好奇腾讯是如何通过海量服务架构来应对全球玩家,希望可以看到一些实际应用的经验分享。
有9位网友表示赞同!
韩伟的这个分享应该能揭示很多优化游戏体验、提升用户体验的秘密,非常有看头。
有20位网友表示赞同!
感觉标题里的“解谜”两字可能在文章中会用到具体的技术案例或者算法分析来进行解释.
有6位网友表示赞同!