一,某游戏公司例行上线与更新流程示例

例行维护/更新流程

1.1 更新前天

提前确认好要更新的是什么,更新会有人通知你,一般是运营人员
比如:我们明天做什么什么更新

1.2 第2天更新

一般固定点更新,会先收到更新邮件
运营人员会发公告给玩家,说我们什么什么游戏,几点进行维护
比如:10点更新:

(1)关闭游戏端口,禁止外部访问,对自己公司开放(更新完要测试)

通过防火墙脚本实现(参考公司已有并在线上正常使用的脚本)

(2)停止游戏程序

如果做了监控,停服前可以关闭监控,如果你知道是自己在停服,也可以不关
这个问题具体要问开发,我们公司就是停止游戏程序的时候会把数据写到数据库,所以等程序关闭后再备份。(如果不先停止游戏程序,那么会导致数据库的数据不一致)

(3)备份数据库

通过脚本实现数据备份并问下研发需要备份哪些库
备份完毕后,检查备份的数据大小,判断是否与前几天备份的数据有没有太大的差异(差距太大表明有问题,需要检查)

(4)通知相关人员进行更新操作(一般是开发,也可能是自己,根据公司情况而定)

如果是你自己做更新,先看看是什么更新(促销更新,版本更新,web更新等)
那就得根据是什么更新,就执行什么更新操作(开发会给更新流程),如果有老人带,做完后总结下(这样自己会更明白些)
更新内容,比如添加几个文件,数据库添加字段等,熟练后可以写成脚本

(5)启动游戏程序

当更新完毕后,就启动游戏程序,以便进行下面的测试

(6)通知相关人员进行测试(研发,测试人员,运营人员等)

游戏能不能正常打开,能不能正常登录,该更新的东西有没有更新好

(7)打开游戏端口,允许外部访问

如果测试没有问题,运营人员会说,可以开服了;就可以把游戏端口对外,就是玩家可以登陆游戏
和相关人员确认好什么时候可以停止游戏程序操作(停之前备份数据库还是之后)

1.3 总结

  1. 接收到更新邮件
  2. 查看是什么更新
  3. 不同的更新执行不同的更新流程
  4. 和相关人员确认好什么时候可以进行更新操作
  5. 到了更新时间后进行更新流程
  6. 连上需要更新的服务器
  7. 执行防火墙脚本,关闭游戏端口,禁止外部访问,对自己公司开发
  8. 停止游戏程序
  9. 备份数据库
  10. 通知相关人员进行更新操作
  11. 更新完毕后,启动游戏程序
  12. 通知相关人员进行测试
  13. 测试没问题,执行防火墙脚本,开放游戏端口,让玩家登陆游戏

1.4 注意事项

更新前操作:

(1)收到更新邮件,可以先确认邮件中更新文件是否能够正常下载

机器比较多,开发也很忙,有时会出现,开发并没有把包上传到固定的机器或者没有传好之类的。

(2)确认好更新维护时间

一般是固定时间,然后运营人员要对玩家发布公告

(3)可以先连上需要操作的机器

(4)如果做了监控,停服前可以关闭监控,如果你知道是自己在停服,也可以不关

(5)检查游戏开放的端口

进行更新时:

(1)第一步关闭游戏端口并确认端口确实关闭了

(2)停止游戏程序并确认确实关闭了(可以通过查看进程的方式,如果是java写的程序,直接ps -ef | grep java即可)

(3)执行备份数据库的脚本并验证备份文件的大小是否正常

(4)备份好了后,通知相关人员进行更新操作并确认更新正确,比对md5,文件时间等(如果是自己更新,就提取准备好更新的步骤;熟练后,可以写成脚本)

(5)所有服更新完毕后,启动游戏程序并确认启动成功

(6)通知相关人员进行测试,比如,是否能登陆游戏,登陆游戏后需要改变的地方有没有改变(一般运营人员操作)

(7)测试没有问题,执行防火墙脚本,开放游戏端口,让玩家登陆游戏

1.5 游戏业务类专业术语解释

  • [x] 合服:其实就是合并玩家数据(例如:1服和2服合并,其实就是合并玩家的数据,将1服数据导入2服数据库,然后1服就能用来开3服了)
  • [x] 混服:就是同一个服务器,运营两款不相同的游戏
  • [x] 同服:在一个配置比较高的服务器上,同时部署两款相同的游戏,比如火影忍者,可以部署1服2服等(就是将程序拷贝一份,修改端口等在启动====>类似多实例)
  • [x] 跨服:多个服的玩家在一起玩,比如1,2,3,4服玩家都在一起玩。

Linux就业技术指导(七):游戏类运维重点流程解析的更多相关文章

  1. Linux就业技术指导(一):简历撰写及面试筹备要领

    一,开场 二,模型 三,目标选材 3.1 什么是目标选材 简单说就是确定一个候选人是否符合某一个工作岗位要求的整个流程.这是对招聘方的一个培训,应聘方如果掌握了,就知道应该怎样正确的去应聘工作. 3. ...

  2. Linux就业技术指导(四):企业CDN缓存加速原理解密

    1.1 CDN(网站加速) 1.1.1 什么是CDN CDN的全称Content Delivery Network,即内容分发网络.其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和 ...

  3. Linux就业技术指导(二):简历项目经验示例

    一,期中项目经验示例 1.1 新服务器上线搭建系统环境 1,根据现有结构部署工具(PXE+kickstart) 2,结合应用系统需求定制部署模版 3,制作系统优化等一键执行脚本 4,自动化部署实施 5 ...

  4. Linux就业技术指导(五):Linux运维核心管理命令详解

    一,Linux核心进程管理命令 1.1 ps:查看进程 1.1.1 命令解释 功能说明 ps命令用于列出执行ps命令的那个时刻的进程快照,就像用手机给进程照了一张照片.如果想要动态地显示进程,就需要使 ...

  5. Linux就业技术指导(三):IDC机房解密

    1.1 IDC机房 1.1.1 带宽计算 带宽流量计算公式: 1 Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB B表示Byte,工业标准是1000. 一般我们家装 ...

  6. Linux就业技术指导(六):天津IDC机房项目实践

    一,天津IDC机房项目图片介绍 服务器DELL R720 二,远程控制卡配置方法 远程控制卡,在服务器没有装操作系统或者操作系统出问题了.用户可以通过连接到远程控制卡来连接服务器,就如同切换到我们的虚 ...

  7. Linux运维就业技术指导(九)期末架构考核

    一,毕业架构设计考核筹备 1.1,架构图模板示例 1.1.1 架构图(一)概述 本架构是4层lvs负载均衡给后方7层nginx反向代理: 业务进行了动静分离: 数据库前端有memcached缓存组,降 ...

  8. Linux运维就业技术指导(八):期中架构考核

    一,期中架构考核概述 1.1 架构图 1.2 架构图公司背景概述 公司是一个新兴的人脸识别高新创业公司,公司名称xxxx 老总是博士生导师,还有一个副总是研究生导师 副总同时是研发总监,负责所有的研发 ...

  9. Redis总结(七)Redis运维常用命令

    redis 服务器端命令 redis 127.0.0.1:6380> time  ,显示服务器时间 , 时间戳(秒), 微秒数 1) "1375270361" 2) &quo ...

随机推荐

  1. SQL群集多实例卸载、安装

    安装SQL多实例群集: 准备工作:准备SQL群集管理员及服务账号:sqladmin和srv-sql,sqladmin和srv-sql都属于群集节点计算机的administrators组 预留群集名称账 ...

  2. Django 博客项目01 数据库设计与验证码校验+Ajax登录

    数据库设计 from django.db import models from django.contrib.auth.models import AbstractUser class UserInf ...

  3. ios之runloop笔记

    网上关于runloop的文章不计其数,再此,贴个自认为讲的比较简单明了的文章 http://www.jianshu.com/p/536184bfd163 个人理解: ios的runloop应该是类似于 ...

  4. 【Spring学习笔记-4】注入集合类List、Set、Map、Pros等

    概要: 当java类中含有集合属性:如List.Set.Map.Pros等时,Spring配置文件中该如何配置呢? 下面将进行讲解. 整体结构: 接口 Axe.java  package org.cr ...

  5. Java 浅析 Thread.join()

    概要 本文分为三部分对 Thread.join() 进行分析: 1. join() 的示例和作用 2. join() 源码分析 3. 对网上其他分析 join() 的文章提出疑问 1. join() ...

  6. tcp_tw_recycle和tcp_timestamps导致connect失败问题

    把服务里面的net.ipv4.tcp_timestamps这个参数设置为0后已经可以正常telnet通了. 具体设置方法: 在/etc/sysctl.conf  里面加入 net.ipv4.tcp_t ...

  7. [UE4]Axis Mappings轴映射和动作映射Action Mappings的区别

    这里添加的映射只能在“玩家角色(Character)”的事件蓝图中使用. 从它们设置和蓝图使用界面就能看出他们的区别

  8. g++多文件编译

    头文件:A.h void test(); 源文件:A.cpp #include <iostream> #include<thread> #include<chrono&g ...

  9. 在docker中运行kong和kong dashboard

    一.制作alpine版的kong镜像 https://github.com/Kong/docker-kong/tree/d4cec3dc46c780a916a40963309554ca81da2b46 ...

  10. SparkStreaming 运行原理与核心概念

    SparkStreaming 运行原理 sparkstreaming 的高层抽象DStream Dstream与RDD的关系 Batch duration