预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共28页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

网络游戏基础系统架构与监控策略 武神世纪网络技术有限公司 曹世军 caoshijun@gmail.com 2009.8.29 提纲 ●游戏服务器架构需求 ●游戏服务器架构介绍 ●监控策略及实例 ●经验点滴 游戏服务器架构需求 ●苛刻的数据安全及系统安全要求 ●超乎寻常的网络延时敏感性及南北互联问题 ●故障硬件的快速替换及远程控制的可靠性 ●快速部署能力以满足游戏产品的爆发性增长导致 的资源需求 ●快速且简单的实现大批量服务器的程序版本升 级,以减少例行维护导致的服务不可用 ●快速且简单的合并、分散压力以应对频繁的合 服、劈服操作 ●自动化运维实现的方便性 游戏服务器架构介绍 ●帐号数据中心 ●游戏服务器组 ●游戏辅助服务器组 ●官方网站及论坛 ●游戏服务器操作系统 ●更深入的理解你的硬件 帐号数据中心 ●存储游戏客户的帐号密码、点卡信息、充值记 录、密码保护等重要信息 ●目前一般都是多款游戏产品共用一个数据中心, 所有游戏产品的登录验证都在帐号数据中心进 行,充值金额也可以在多款游戏产品中使用。 ●一般部署在可靠性较高的多线机房 ●爆发性访问比较常见,日常负载不高 ●游戏企业的命脉,安全要求最大化 游戏服务器组 ●以组分布,各组之间架构一致,便于横向扩展及 管理,所有的游戏运算都在此进行。 ●一般由接入服务器、逻辑运算服务器、游戏数据 库、日志服务器和其他特殊服务器构成。 ●对网络延时非常敏感,一般采用分布式部署,让 服务器就近某一地区的客户,最大化减小客户端 到服务器的网络延时。 ●分布式部署也解决了南北互联的问题。 游戏辅助服务器 ●下载服务器 –提供游戏客户端,客户端补丁升级包的下载 –对网络的延时不敏感,爆发性流量较大 –联通,电信分开部署 ●自动更新服务器 –提供游戏客户端的自动升级 –对网络的延时不敏感,爆发性流量较大 –联通,电信分开部署 官方网站及论坛 ●官方网站包含企业网站、游戏产品网站、帐号管 理中心。 ●企业网站一般都是用作企业形象宣传。 ●游戏产品网站及对应的论坛一般都是针对某一款 游戏产品做宣传。 ●帐号管理中心提供各个游戏产品用户的帐号注 册、秘保设定、密码找回等。 ●该类应用在游戏停机维护期间突发流量大。 游戏服务器操作系统 ●现实世界的实际情况 –幸福的人都是相同的,不幸的人各有各的不幸 ●没错,最好就是用Linux! –和其他Unixlike相比人才更好找 –和其他Unixlike相比驱动程序更好找 –和windows相比更灵活,考虑下在Windows上自动 化运维的代价。 ●可以的话用64位吧 ●实在不行的话Windows也不是不可以 ●我们是自己定制的DebianX86_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集中部署在公司内部机房,用于各 个服务器的状态监测、报警及数据记录。 –每组游戏