《在线系统迁移与升级方案概要.ppt》由会员分享,可在线阅读,更多相关《在线系统迁移与升级方案概要.ppt(30页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在线系统迁移与升级练习题QQMAIL系统提供 域名的邮件服务,原来是的网站部维护,后来转由广州研发中心维护广州研发中心为了日常维护方便,建议将QQMail从深圳枢纽机房搬迁到广州电信较场西机房请用15分钟设计一个系统搬迁方案深圳电信枢纽机房注册用户约6千万开通用户数约4千万邮件存储总使用空间约13T64台在用机器广州电信较场西机房23台备用机器2M专线提纲n搬迁和割接的风险n广研的搬迁方案n在线系统平滑升级n小版本迭代升级迁移割接的目标用户体验更好减低搬迁的费用及风险不采用任何可能做成错误或损失的迁移方式搬迁和割接的风险IDC2设备迁移?结果可能是l拨错线(电线、网线)l整柜跳线l搬错设备l运
2、输过程摔坏IDC1错综复杂的机房物理设备搬迁数据迁移?IDC2IDC1有限的专线网络带宽结果是l全套的设备投入l漫长的等待l复杂的增量同步l不可遇见的风险海量的数据失败案例(1)某运营商原来的用户数据是集中式处理,需要按省处理,新系统在各省已建设完成,需要通过网络进行数据迁移操作。方案:用10Mbit的网络带宽分批传输5Gbytes的数据,计划数据传输需要时间1个多小时,共停止系统3个小时,结果l网络质量抖动,传输用了3个多小时l数据倒入数据库,完成倒入接近85%时,数据库崩溃l数据库修复用了3个多小时l继续倒入直到完成为止(幸运的是当时设备及数据库都没有大的损坏)如果事情可能出错,就一定会出
3、错。如果事情可能出错,就一定会出错。旧Server旧系统旧DB旧client一刀切迁移?新系统有BUG会导致数据丢失、支撑不了压力数据库缺少必要数据新Server新DB新client结果是回滚新系统无法上线测试一刀切失败案例(2)某美国软件开发商给日本网络运营商开发了新的邮件系统,需要用新的系统替换旧的系统方案:将所有用户数据及邮件倒入新系统,结果l用户数据开始迁移顺利,新系统运行正常了几天l运行一周后,出现造成用户全部邮件丢失的bugl开发商以最快的速度修复软件bug,但用户邮件已经丢失,找不回来l运营商威胁不支付软件费用l开发商用一年时间才使运营商恢复信心(幸运的是数据是分批倒入的)新系统
4、存在新系统存在bugbug是难以避免。是难以避免。广研的搬迁方案广研的搬迁方案方案一:搬迁前准备,QQMAIL数据与应用完成备份;QQMAIL系统停服务;修改DNS指向;设备停机、下架、装车、由深圳搬运至广州、上架、开机;QQMAIL在广州重新架设,重新提供服务;没回退性,风险太大,绝对不可行没回退性,风险太大,绝对不可行广研的搬迁方案方案二:在广州IDC机房架设基本满足QQMAIL系统运营和存所有QQMAIL数据的设备在新设备上架设QQMAIL应用使用工具软件让深圳与枢纽的数据进行同步保证两地数据一致和应用一致后,修改DNS指向QQMAIL服务由广州设备接替一次迁移所有用户数据,操作时间长,
5、风险不可控,一次迁移所有用户数据,操作时间长,风险不可控,没长期需要而临时扩充带宽浪费资源没长期需要而临时扩充带宽浪费资源广研的搬迁方案方案三:同样需要架设一套基本与现有QQMAIL相同的系统:在广州架设服务器,安装QQMAIL应用模块(WEBMAIL、SMTP/POP3等);在深圳枢纽架设服务器,安装QQMAIL后台存储;利用枢纽带宽,把旧系统数据同步到枢纽新存储上;搬迁安装后台存储的服务器到广州,修改广州新系统的配置,让应用与后台存储完成接合再使用工具软件进行深广新旧系统数据增量同步;DNS切换,新系统提供服务;物理搬迁,容易做成物理损坏物理搬迁,容易做成物理损坏任一台机器物理损坏都会导致
6、迁移失败任一台机器物理损坏都会导致迁移失败总结广研的方案物理搬迁,风险大,而且劳民伤财。物理搬迁,风险大,而且劳民伤财。在线系统平滑升级在线系统升级要求尽量保持724小时服务用户不受任何影响或影响很小DB平滑扩容QQGame的DB分裂,不需停止用户的游戏过程S1Db11 db12S2db12请用5分钟设计一个平滑扩容的方案DB平滑扩容QQGame的DB分裂S1Db11 db12S2db12DBSrv11/12DBSrv12Proxy修改路由修改路由指到新的指到新的DBSrv后台同步迁移(insert)Insert到到DB作应用级作应用级Cache主键主键保证保证唯一唯一只读不只读不改改多版本支
7、持Client v1.0Server v1.1Server v1.0Client v1.1请用5分钟设计一个多版本兼容方案QQGame软件版本升级,不需强制用户升级Client多版本支持Client v1.01.0逻辑Server v1.11.0逻辑1.1逻辑Server v1.01.0逻辑Client v1.11.0逻辑1.1逻辑Server假装v1.0“协议跑得比协议跑得比server快,快,server跑得比跑得比client快快”同时包括v1.0和v1.1的逻辑代码Server拒绝非v1.0特性Client屏蔽v1.1特性QQServer代码例子int CheckPassword(CO
8、NFIG*pstConfig,char*sPasswdHash,char*sMd5Value)if(pstConfig-stCinfo.shVersion 900)if(OicqDecrypt3()else return 0;else if(OicqDecrypt3()else return 0;return 1;多版本支持多版本不兼容RTX3.61和RTX2005多版本兼容QQServerQQGameRTX2005不兼容RTX3.61QQServer支持超过100个Client版本QQGame支持超过6个Client版本灰度割接旧Server旧系统旧client新系统再用少部分用户压力,方便
9、测试新系统100%先割一少部分用户新Server新client5%5%95%90%好处是用户体验影响最小设备投入少不存在大风险,随时可以回滚容易对新系统的测试及问题定位灰度割接分时间的逐步升级步骤有10台server有100万个clientDay1Day2Day3Day4DaynServer10个1.09个1.01个1.17个1.03个1.110个1.110个1.1Client100万1.0100万1.0n个1.190万1.010万1.1100万1.1小版本迭代升级单机软件发布时间W1W2W3W4W5W6W7W8W9Wn单机 123456789n盒装软件123Golden发行软件build50次制作光盘,RTM代码越多,出错的机会越大“千里走钢丝千里走钢丝”固定时间出版一旦出错,付出一旦出错,付出的成本非常高的成本非常高网络软件快速验证时间W1W2W3W4W5W6W7W8W9Wn版本123456789n版本123系统测试R1Day1(1%-10%)Day2(10%-20%)Dayn(20%-100%)R2快速验证“时间剪载功能时间剪载功能”时间窗时间窗Full TestingR时间跨度大,bug多时间短,bug少灰度割灰度割接接总结迁移l避免物理搬迁l减少物理复制l由应用做平滑扩容升级l多版本兼容l灰度割接l小版本迭代谢谢
限制150内