【IT168 评论】游戏的定期更新版本已经再寻常不过了,但频繁的更新会造成流失率非常严重,哪个玩家也不希望再BOSS将要躺下那一刻,服务器停机维护了。在小版本更新过程中,采用不停机维护成为现在游戏的主流方式,那究竟是如何做到不停机维护的呢?

事实上,大多游戏服务器分为逻辑程序服务器和数据库服务器,如果是线上运营的服务器,基本上是在至少两台主机上,在发现几个逻辑服务器中的bug,或者加了某些功能,比如少加了三个金币,多算了一点经验等,只需要在测试服测试完毕,上传覆盖执行文件(jar或php),但是依然要重启逻辑服务器进程。

而Erlang的热升级技术,就带了更好的体验。Erlang原本脱胎于电信行业,Jow Armstrong 在描述Erlang的设计要求时期中就提到了“软件维护应该能在不停止系统的情况下进行。”在实践中,我们也因为这种不停服务的热更新获益良多,终于不用再等到半夜没人的时候再做更新了,对于一些紧急的bug修复,热更新实在是一把利器。

Erlang热更新的秘密其实都集中在code模块,code模块是Erlang Code Server暴露出来的对外接口其职责就是把已经编译好的模块加载到Erlang的运行时环境。

代码版本有两个概念 当前版本代码'current'和老版本代码'old',一旦模块被加载就变成'current',再有一个版本过来被加载,之前的版本就变成'old',新加载的变成'current'。这时候,两个版本还是同时存在,新的请求执行的时候会使用新的版本,而老版本的代码还会被使用因为还有其他模块的调用'old'版本中。如果再进行一次热更新,这时就有第三个实例被加载,code server就会终止掉还在驻留在'old'版本代码依赖的进程。然后第三个实例成为'current',之前版本的'current'被标记成'old'。

这种方法有效降低了因版本升级而导致的用户流失。当然,实现不停机更新的技术方法还有很多,欢迎一起交流经验。

游戏服务器停机维护,网络游戏是如何做到服务器不停机维护的?相关推荐

  1. 游戏平台搭建韩国大带宽CN2服务器哪里的比较便宜

    游戏平台搭建韩国大带宽CN2服务器哪里的比较便宜 很多游戏企业都会将自身的游戏业务部署在韩国服务器上,特别是全球同服的网络游戏都是将亚服部署在韩国.就来给大家说说,为何韩国服务器适合部署游戏业务? 一 ...

  2. 微云服务器失败原因_梦幻西游:服务器发生异常?游戏出现明显卡顿感,正在排查问题...

    就在刚刚,不少梦幻玩家都在讨论一个情况,那就是服务器出现了明显的卡顿感,一些商人也陆续掉线,难道是服务器出现了异常?退出游戏之后,一直无法进入,登录界面总是停留在"正在连接某某服务器&quo ...

  3. 游戏平台搭建在韩国大带宽服务器CN2路线哪里的比较好

    游戏平台搭建在韩国大带宽服务器CN2路线哪里的比较好 虽然韩国本土面积只有103290平方千米,但是他们的机房运营商有很多,而且不同机房运营的线路也是不一样的,包括韩国KT机房,韩国CN2机房,韩国S ...

  4. STEAM游戏高主频i9-12900k 搭建CS:GO服务器

    为了让游戏体验感强低延迟竟然打算玩我们直接把配置拉满开始我们的快乐时间 这里我们选择驰网科技服务器(全国少有的i9服务器商具有极致性价比) 服务器要求 驰网裸金属的大盘鸡(高频型)高防大带宽可以为游戏 ...

  5. 酷睿i9-13900K性能出炉Steam游戏开发首选驰网独家i9-13900K服务器水冷定制高主频游戏服务器

    酷睿i9-13900K性能出炉Steam游戏开发首选驰网独家i9-13900K服务器水冷定制高主频游戏服务器 Intel13代智能酷睿i9-13900K CPU是英特尔2022年10月底发布的新款处理 ...

  6. wow服务器合并信息,《魔兽世界》台服合并部分服务器_网络游戏魔兽世界_新浪游戏_新浪网...

    以下是来自中国台湾地区的消息: <魔兽世界>部分服务器将于5月25日至5月27日进行合并,预计会把"水晶之刺.死亡之翼.大地之怒.血顶部族.羽月.龙骨荒野.艾格拉玛.恶魔之&qu ...

  7. FPS游戏原理漫谈:玩家延时与服务器同步

    文/周恺华 在在FPS游戏中玩家延时都不一样的情况下是怎样做到游戏的同步?知友"周恺华"对此给出较为充实的回答,有兴趣了解这方面知识的玩家可以通过下面的回答来一窥究竟: 声明:下面 ...

  8. 我开的游戏经常被攻击该怎么办,云服务器陷入黑洞了要怎么处理,有没有什么好的办法彻底解决攻击

    游戏盾是针对游戏行业面对DDOS.CC攻击诞生的针对性网络安全解决方案.可彻底解决游戏行业的攻击问题. 游戏盾首次在分布式防护中提出了节点的"集合",游戏盾的所有节点之间保存数据同 ...

  9. 极品飞车服务器维修好久,EA下架5款《极品飞车》游戏 计划8月31日关闭服务器...

    原标题:EA下架5款<极品飞车>游戏 计划8月31日关闭服务器 根据发布在Reddit<极品飞车>板块上的帖子,EA开发团队一名成员宣布,EA下架了5款<极品飞车> ...

最新文章

  1. mysql更改锁机别_MYSQL调度与锁定问题(转)
  2. python 网页解析库 beautifulsoup4 简介
  3. clion 远程调试配置失败 Failed to reload 错误
  4. 深度学习目标检测系列:RCNN系列算法图解
  5. 关于创建主键和索引的关系一个小小測试
  6. Java GUI编程:swing实现上传tiff文件至hdfs功能
  7. 利用Excel或LibreOffice的业务输入进行单元测试约束
  8. 第四节:Task的启动的四种方式以及Task、TaskFactory的线程等待和线程延续的解决方案
  9. GrideView(三)---编辑功能实现
  10. 【转】Java中的关键字 transient
  11. 腾讯电脑管家卸载后的残留信息有哪些
  12. 搜索引擎广告的检索和匹配算法
  13. php表格显示成绩,学生成绩表格展示
  14. 【C++】pcl中的简单点云可视化
  15. Java、JSP电子商城
  16. windowns下VS缺少头文件“unistd.h“的解决方案
  17. 2021年会议平板十大品牌榜中榜,十大会议平板品牌销量排行榜
  18. 读查理·芒格---《穷查理宝典》
  19. USB数据端子 type-A/B/C
  20. 小外包公司的商业运作模式,希望大家多补充补充!

热门文章

  1. 开源运维管理软件排名_车主无忧:为什么放弃开源Kafka?
  2. MySQL中事务控制语句_Mysql事务控制语言
  3. VS2005 TS SP1压缩整合完整版BT下载
  4. 2018-6-19bash编程之循环
  5. 用C语言设计光线成像程序——计算机达人成长之路(26)
  6. (八):构建WineLib DLL
  7. Skype通话调度功能提供给Android用户
  8. HTML标签的分类与特点
  9. 让你的 Qt 桌面程序看上去更加 native(三):自定义 style
  10. 项目中的难点怎么克服_克服大型项目中的文档挑战