官方微信赞助推广网推广标签      禁止一切违法信息推广,否则封号。本站内容均为会员发表,并不代表本站立场!

中国推广网

QQ登录

免注册,加入推广网

扫一扫,登录推广网

上一主题 下一主题

游戏服务器和web服务器的不同

[复制链接]
跳转到指定楼层
楼主
小鑫服务器 发表于 2022-11-24 16:18:43

游戏服务器与Web服务器的不同?对于游戏服务器的一些介绍也许会说游戏服务器是一个需要长时间运行的程序,接下来该怎么办。对于Web服务器,我个人认为需要长时间运行,而且还需要对非定点、不定时的请求作出响应。二者在宏观层面实际上并无本质的不同。与此同时Web服务器还会对稳定性和性能有要求,游戏服一般分为大小服,壹基比小鑫这里按小服举例来说。
1、状态

第一个要提到的是状态。也许你听过这样一种观点,游戏服务器是有状态的,而Web服务器是无状态的。这意味着什么?Web服务器的数据流大部分直接到达数据库。并且游戏服务器的数据流先被存入内存,然后定期写入数据库(落地)。

换言之,在运行时,游戏服务器自身的数据和数据库中的数据将有一个不一致的窗口。这个时候,游戏服务器出现故障,将导致数据先到达的内存数据与数据库存数据不一致。
但是Web服务器并没有这个问题,Web上所有的数据状态都会出现,并且可以在操作中添加事务,不必担心由于操作失败而引入脏数据。由于存在状态限制,游戏服务器将非常谨慎地使用内存、CPU。在资源有限的条件下,为了最大化承载量,并减少服务延迟。自然,Web服务器需要进行相应的优化,以减少特定接口的响应时间。
2、扩建。

对于Web服务器,如果您不能评估服务者所面临的压力,也不希望由于即时热点访问而直接导致服务不可用,则可以将其设置为自动扩展,因为每个服务仅仅是简单地接收请求,然后处理请求、返回结果,而不会将数据保存在服务器的内存中。为了将数据存储到内存,Redis中同样如此。而且Redis数据丢失对数据的一致性基本上没有影响。

但要实现游戏服务器的灵活性,就难以达到网络的灵活性。第一,数据流不是数据库,而是内存。

举例来说,玩家的主要城市都被攻打着火烧,如果有自动扩容,很有可能在落地窗口中,玩家再次请求,请求到另一个。主要城市又没起火。由于数据将首先存在于内存中。
又比如,玩家氪空间购买了一个礼包。接着退出游戏,在落地窗口中再次上线没有。这个数据并不简单,玩家这是花真金白银买来的道具,突然间没了,一、两个还好处理,如果多个玩家都有这样的问题,那就属于严重的线上事故了。修理资料的工作非常繁重。

因此,对一个游戏服务器来说,内存和CPU的可用资源都非常有限,不像Web服务器那样可以实现横向扩展,而不必花费大量成本。正因为如此,游戏服务器才会非常专注于代码的性能和稳定性。
3、稳定。

正如上面所说的,如果游戏服务器在运行中出现BUG,导致服务直接无法使用,或者在BUG上刷到大量道具,将会是一次很严重的在线事故。

对Web服务器而言,如果是管理系统这样的话,很可能会有脏数据值得注意,脏数据对于Web来说,查找起来也是一件很头痛的事。在没有脏数据的情况下,服务只是暂时不可用,并且如果使用了微服务体系结构,重新启动服务的成本相对较低,只有被重新启动服务的业务无法获得,而其他部分则可以正常访问。

对游戏服务器而言,服务器重新启动会影响全服玩家。停服期间,玩家甚至不能进入游戏,尤其影响玩家体验。此外,如果在停用之前服务器的数据落地发生问题,那么在服务重新启动后将数据从数据库加载到内存,此时同样会导致数据不一致的问题。


分享到:  新浪微博新浪微博 QQ空间QQ空间
中国推广网 - 免责申明1、本主题所有言论和图片纯属会员个人推广行为,并不代表本站赞同其观点和对其真实性负责
2、本站不提供和不存在任何金钱交易(本站管理账号发布的帖子除外),谨防上当受骗!本站唯一管理账号:推广网官方
3、本站所有主题由该帖子作者发表,该帖子作者享有帖子相关版权并且依法承担一切因本文发表而直接或间接导致的民事或刑事法律责任

中国推广网提供免费推广,免费营销,免费发布广告信息的网络推广平台。
关闭

网站推荐上一条 /1 下一条

扫描二维码
把此页分享给朋友

小黑屋|广告服务|联系我们|推广帮助|(京ICP备16009988号)

中国推广网(推广论坛)是免费网络推广平台||免费推广就上中国推广网

技术支持:推广网官方

中国推广网·免费发广告平台

快速回复 返回顶部 返回列表