一、什么是游戏服务器
1,从游戏玩家之间的交互形态出发
单机游戏:一个人在机器上玩。
联网游戏:同时玩的范围比较小,比如8-10个人。
网络游戏:在远端有许多机器跑一个很大的系统,可以有几千几万几十万甚至更多的玩家连进来一起玩。
2,游戏服务是互联网服务的一种
常见的其他互联网服务有:搜索(百度)、电商(阿里)、即时通讯(腾讯)、邮件、视频等
3,游戏服务的基本职能有哪些?
网络连接和数据收发:TCP收包打包分包。
数据存取
逻辑计算
状态保持:上下文、内部驱动等等。
4,游戏服务器:严格说是一个硬件概念
常见种类:机架式服务器,刀片机,小型机。
会根据游戏类型或运行程序的不同,在CPU/内存/硬盘上有所侧重。
5,游戏服务器开发
从游戏交互形态,看游戏开发分工
游戏后台开发==游戏服务器开发
6,“游戏服务器”到底指什么?
承载游戏服务的硬件;
提供游戏服务的软件;
开发游戏服务的程序员。
二、游戏服务的特点及应对
1,游戏服务要解决的核心问题
满足海量游戏用户的稳定和高质量的服务需求
海量 - 十万~百万~千万级同时在线,最高达亿级注册量;
稳定 - 相对于:宕机,网络和计算卡顿;
高质量 - 快速:网络延迟;逻辑严谨;更新频率和及时性。
2,游戏服务与其他互联网服务的区别?
延迟敏感
实时交互游戏一般需要网络延迟在300ms以内才能保证体验。
>
实时的高强度交互
单个终端高频发送请求;
单次请求引发多处数据改变;
业务逻辑复杂,内部耦合度高
[延迟敏感+高强度交互]同时作用下,[状态维护]往往成为必需;
复杂游戏服务的实现代码,可达百万行量级。
变更频度高,幅度大
变更幅度,包含内容和逻辑。
3,前后台程序的区别
独占,意味着什么?
拥有所有资源的控制权;
重视资源的合理使用而不是最少占用。
大量并发任务,意味着什么?
重视性能;
重视可伸缩性。
性能来自于
算法选择与算法优化:排序、查找、空间-时间。
操作系统/应用程序运行机制:IO多路复用;局部性原理;编程语言。
硬件:CPU的充分利用_多线程/多进程;存储层级的理解和利用;多队列网卡。
持续运行,意味着:稳定最重要;容错;日志和监控。
(1)服务稳定包含的因素
避免程序异常终止;
持续高效的运算与通信。
(2)如何才能做到稳定?
KISS==Keep It Simple&Stupid (一看就懂)
容错方面
(1)错误不可避免(逻辑自身bug、程序运行环境、外部影响)
(2)基本要求 - 错误范围可控
一个用户的错误不要传染到其他用户;
非核心功能的失效不要导致整个系统服务的失效。
(3)基本应对 - 错误隔离和可快速恢复。
4,游戏后台开发的方法论
(1)本质上是应对海量服务的问题。
(2)出发点:两种不同的困难
事情本身逻辑很简单,但是并发规模非常大;
事情本身的逻辑复杂,要经历复杂的处理步骤。
(3)方法论 - 分治
大的问题分解成小问题,小问题继续分解,最终在合适的力度下得到解决。
服务分布化
三层架构:接入-逻辑-存储;
通用服务:微服务。
内部复杂度应对:分层分块。
(4)方法论 - 灰度
什么是灰度:抛弃0/1思维;在不同的场景下提供不能的服务。
在不同范畴维度的应用:服务降级;灰度分布。
感悟:任何事情都不是非黑即白的,可以灰度发布,灰度服务(取中间值)。
5,游戏服务器的相关参与者
开发者:服务器程序员。
开发伙伴:客户端程序员,游戏策划。
构建-测试:测试工程师。
部署维护:运维工程师。
三、游戏服务器怎么选择
1.稳定性
稳定是游戏服务器的前提,影响到稳定的有游戏服务器配置情况、今后的扩展、安全性能。游戏的质量越来越高,对各方面的要求也变大的。在配置方面,操作系统、应用软件、网卡、硬盘、内存、CPU等都选高一点,但也不要选得太离谱,以自己是什么游戏去定。游戏的更新也是很快的,为了可以适应游戏的变化,扩展性强的游戏服务器先看。至于安全性能,网络上的病毒、木马等种类很多,谁都不想在玩游戏时,一点就中了,所以服务商有提供实时监控防护措施服务很重要。
2.安全性
进行游戏类网站服务器租用的时候要选择一个较为安全的游戏类网站服务器。因为如果游戏类网站服务器的安全保障不高,那么我们在使用的时候就很容易出现运营问题,这样一来我们在使用游戏类网站服务器的时候就很被动,很难掌控游戏类网站服务器的操作安全。
3.所用带宽
无论是游戏服务器是用在大型单机下载,还是网络游戏,为了不造成传输时,带宽堵塞。选到大宽带必须的,从数据分析表明,服务器所用100M、1G国际带宽完全可以满足传输要求。
4.租用价格
游戏类网站服务器租用的时候最好能够“货比三家”。以确保自己可以用一个合理的价格租用到最为安全可靠的游戏类网站服务器。而且目前国内的游戏类网站服务器租用价格有很大的差异,有的较为实惠,但是有的却非常昂贵。所以我们在选择服务器租用的时候如果不进行适当的比较,就很有可靠掉入商家的陷阱,从而在花了高价之后却无法租用到一个优质的游戏类网站服务器。
5.类型
游戏类网站服务器租用的过程中我们还必须要注意游戏类网站服务器的服务类型。如果游戏类网站服务器的服务类型不符合我们的实际需求,那么租用后也毫无用处。所以在租用时候的先详细了解一下具体的服务类型,以确保游戏类网站服务器租用后能够投入到实际使用当中。
6.服务商的售后支持
游戏服务器与其它服务器一样,当工作久了,肯定会偶尔出现故障。因此,随时都有服务技术支持和快速故障解决,这是游戏服务器最基本应该具备的。
服务器稳定需要技术力量较好的IDC运营商来保障,一些没有实力的空间商,可能无法提供良好的服务,服务器的无法保证。所以在选择游戏服务器一定要选择具有实力、品牌好,售后服务好的IDC运营商。
7.服务商的信誉实力
信誉实力在各行各业中都是最重要的,是现实中的保证。看一个游戏服务器服务商的信誉实力,可以从企业上传到网站的信誉之星,服务之星等一些证书进行查询。有实力的游戏服务器运营商会形成一定的规模,如果有时间的话,为了以后各方面保障,直接去游戏服务器服务商那些考检他们的公司,从公司的大小,员工数量,工作态度,服务器信息相关交流等这些就可以大概有个了解。