网络游戏基础系统
架构
酒店人事架构图下载公司架构图下载企业应用架构模式pdf监理组织架构图免费下载银行管理与it架构pdf
与监控策略
武神世纪网络技术有限公司
曹世军
caoshijun@gmail.com
2009.8.29
提纲
● 游戏服务器架构需求
● 游戏服务器架构介绍
● 监控策略及实例
● 经验点滴
游戏服务器架构需求
● 苛刻的数据安全及系统安全要求
● 超乎寻常的网络延时敏感性及南北互联问题
● 故障硬件的快速替换及远程控制的可靠性
● 快速部署能力以满足游戏产品的爆发性增长导致
的资源需求
● 快速且简单的实现大批量服务器的程序版本升
级,以减少例行维护导致的服务不可用
● 快速且简单的合并、分散压力以应对频繁的合
服、劈服操作
● 自动化运维实现的方便性
游戏服务器架构介绍
● 帐号数据中心
● 游戏服务器组
● 游戏辅助服务器组
● 官方网站及论坛
● 游戏服务器操作系统
● 更深入的理解你的硬件
帐号数据中心
● 存储游戏客户的帐号密码、点卡信息、充值记
录、密码保护等重要信息
● 目前一般都是多款游戏产品共用一个数据中心,
所有游戏产品的登录验证都在帐号数据中心进
行,充值金额也可以在多款游戏产品中使用。
● 一般部署在可靠性较高的多线机房
● 爆发性访问比较常见 , 日常负载不高
● 游戏企业的命脉,安全要求最大化
游戏服务器组
● 以组分布,各组之间架构一致,便于横向扩展及
管理,所有的游戏运算都在此进行。
● 一般由接入服务器、逻辑运算服务器、游戏数据
库、日志服务器和其他特殊服务器构成。
● 对网络延时非常敏感,一般采用分布式部署,让
服务器就近某一地区的客户,最大化减小客户端
到服务器的网络延时。
● 分布式部署也解决了南北互联的问题。
游戏辅助服务器
● 下载服务器
– 提供游戏客户端,客户端补丁升级包的下载
– 对网络的延时不敏感,爆发性流量较大
– 联通,电信分开部署
● 自动更新服务器
– 提供游戏客户端的自动升级
– 对网络的延时不敏感,爆发性流量较大
– 联通,电信分开部署
官方网站及论坛
● 官方网站包含企业网站、游戏产品网站、帐号管
理中心。
● 企业网站一般都是用作企业形象宣传。
● 游戏产品网站及对应的论坛一般都是针对某一款
游戏产品做宣传。
● 帐号管理中心提供各个游戏产品用户的帐号注
册、秘保设定、密码找回等。
● 该类应用在游戏停机维护期间突发流量大。
游戏服务器操作系统
● 现实世界的实际情况
– 幸福的人都是相同的 , 不幸的人各有各的不幸
● 没错,最好就是用 Linux!
– 和其他 Unix like 相比人才更好找
– 和其他 Unix like 相比驱动程序更好找
– 和 windows 相比更灵活,考虑下在Windows上自动
化运维的代价。
● 可以的话用 64 位吧
● 实在不行的话 Windows 也不是不可以
● 我们是自己定制的 Debian X86_64 无盘系统
更深入的理解你的硬件
● 内存是新一代的磁盘
● 磁盘是新一代的磁带
● 无处不在的要命缓存
● 更快的 CPU解决了很多程序语言的效率问题
更深入的理解你的硬件-带外管理
● 带外管理的历史
● BMC/IPMI
● IDC机房能确保的资源:电源、网络
● 系统磐机,操作系统失去响应,服务器需要冷重启
的时候只能打电话由机房操作吗?
● 调整机房里服务器的 BIOS非要出差到机房所在地
去吗?
● 重装服务器的操作系统必须由机房实施或者出差到
机房所在地吗?
● 硬件日志查询(机箱盖,温度 ,风扇转速 )
● Linux 下 Console重定向结合 IPMI的神奇
游戏企业的监控目标
● 报警
– 及时准确的发现并初步判断问题
– 实现迅速可靠的多途径报警
● SMS
● IM
● E-Mail
● 趋势分析及预警
– 网络流量
– 系统性能 (cpu,mem,load,disk,etc)
● 由历史数据分析出未来将要面临的问题
● 由历史数据分析出配置变更的效果
监控策略
● 明确需求并分清主次
– 要达到什么目标?要监控何种内容?
– 按照被监控对象在企业应用中的重要性划分主次
● 选用合适的软件
– 监控目标和内容决定了你应该采用何种监控软件
● 选择合适的架构
– 选择适合自己的监控平台架构,分布式 or 集中式
● 逐渐添加监控目标
● 养成每天看图的习惯
实例 -1
● 监控目标:
– 游戏各类应用状态,系统状态,网络状态
● 划分等级:
– 数据中心 >游戏服务器 >官方网站及论坛 >游戏辅
助服务器
● 软件使用:
– Nagios 用于服务状态监测及报警,是自动化运维的
基础,日常使用侧重于报警。
– Cacti 用于数据记录及历史数据展现,是资源调度及
数据分析的基础,日常使用侧重于数据记录。
– 用 RRDTOOL 结合 Shell 实现了一套基础监控软件
实例 -2
● 监控架构的选择
– 分布式和集中式两套监控系统
– Cacti 和 Nagios集中部署在公司内部机房,用于各
个服务器的状态监测、报警及数据记录。
– 每组游戏服务器都有一套自己写的组内服务器监控系
统,部署在全国各地的游戏服务器上,用于网络不
可达造成的集中监控失效的情况下,可以在恢复后
通过分布式监控工具回查历史记录。
● 其他
– 系统日志通过 syslog汇聚存放,集中审查,重要消
息多途径报警 Email,IM,SMS etc. 。
经验点滴
● 一开始要简单
● 简单的同时要考虑横向扩展
● 以上两个实现自动化管理的基础
● 善用开源软件,不重复发明轮子,打磨轮子
● 重视标准
● 考虑硬件的可管理性
● 提高交流效率 (wiki)
● 在不断满足应用需求的同时遵循以上几点
参考资料
● “ 懒惰”集群管理员的 11 个秘诀
– http://www.ibm.com/developerworks/cn/linux/l-11sysadtips/
● 2009.3.28 CU 沙龙 北京 田逸 《开源监控利器 nagios 实战全解 .rar 》
– http://linux.chinaunix.net/bbs/attachment.php?aid=230127
● 2009.3.28 CU 沙龙 北京 《使用 cacti搭建企业监控平台》
– http://linux.chinaunix.net/bbs/attachment.php?aid=230128
● 2007.12.8 CU 沙龙 西安 Cacti 在 Linux 上的部署和使用》
– http://linux.chinaunix.net/salon/200712/files/cacti_xa.pdf
● 2007.12.8 CU 沙龙 西安 孙继东《 rrd数据库及 rrdtool 简介》
– http://linux.chinaunix.net/salon/200712/files/RRD_RRDTool_xa.pdf
● 2007.12.8 CU 沙龙 西安 李平《 nagios 在企业中的应用》
– http://linux.chinaunix.net/salon/200712/files/nagios_xa.ppt
● 2009.3.28 CU 沙龙 北京 曹金城《mysql 运行监控全解》
● http://linux.chinaunix.net/bbs/attachment.php?aid=230129
Thanks!
Q & A
页 1
主题
简介
页 4
页 5
页 6
页 7
页 8
页 9
页 10
页 11
页 12
页 13
页 14
页 15
页 16
页 17
页 18
页 19
页 20
页 21
页 22
页 23
页 24
页 25
页 26
页 27
页 28