在线系统迁移与升级方案概要
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
23台备用机器
请用15分钟设计一个系统搬迁方案
提纲
搬迁和割接的风险 广研的搬迁方案
在线系统平滑升级
小版本迭代升级
迁移割接的目标
用户体验更好 减低搬迁的费用及风险 不采用任何可能做成错误或损失的迁移方式
搬迁和割接的风险
设备迁移?
错综复杂 的机房
IDC1 物理设备搬迁
IDC2
DB平滑扩容
QQGame的DB分裂
只读不 改
DBSrv11/12 Proxy
修改路由 指到新的 DBSrv 作应用级 Cache
DBSrv12
Insert 到DB
Db11
db12
db12
S1
后台同步迁移(insert)
S2
主键 保证 唯一
多版本支持
QQGame软件版本升级,不需强制用户升级Client
运行一周后,出现造成用户全部邮件丢失的bug
开发商以最快的速度修复软件bug,但用户邮件已经丢失,找不 回来
运营商威胁不支付软件费用
开发商用一年时间才使运营商恢复信心(幸运的是数据是分批倒 入的)
新系统存在bug是难以避免。
广研的搬迁方案
广研的搬迁方案
方案一: 搬迁前准备,QQMAIL数据与应用完成备份; QQMAIL系统停服务; 修改DNS指向; 设备停机、下架、装车、由深圳搬运至广州、上架、 开机; QQMAIL在广州重新架设,重新提供服务;
多版本不兼容
RTX3.61和RTX2005 多版本兼容 QQServer QQGame
QQServer支持超 过100个Client版 本 QQGame支持超过 6个Client版本
RTX2005不 兼容 RTX3.61
灰度割接
旧client 90% 95% 100% 旧Server 5%
在线系统迁移与升级
练习题
QQMAIL系统提供 @qq.com 域名的邮件服务,原来是的网站部维护, 后来转由广州研发中心维护 广州研发中心为了日常维护方便,建议将QQMail从深圳枢纽机房搬迁 到广州电信较场西机房
注册用户约6千万 开通用户数约4千万 邮件存储总使用空间约13T 64台在用机器 深圳电信枢纽机房 2M专线 广州电信较场西机房
பைடு நூலகம்
if (pstConfig->stCinfo.shVersion < 900) { if (OicqDecrypt3(…)) { … } else return 0; } else { if (OicqDecrypt3(…)) { … } else return 0; }
} return 1;
多版本支持
Server v1.1 1.0逻辑 1.1逻辑
同时包括 v1.0和v1.1 的逻辑代码
“协议跑得比server快,server跑得比client快”
QQServer代码例子
int CheckPassword(CONFIG* pstConfig, char *sPasswdHash, char *sMd5Value) { …
结果可能是…
拨错线(电线、网线) 整柜跳线 搬错设备 运输过程摔坏
数据迁移?
有限的专 线网络带 宽
IDC1 海量的数 据
IDC2
结果是…
全套的设备投入
漫长的等待
复杂的增量同步 不可遇见的风险
失败案例 (1)
某运营商原来的用户数据是集中式处理,需要按省处理,新
一次迁移所有用户数据,操作时间长,风险不可控, 没长期需要而临时扩充带宽浪费资源
广研的搬迁方案
方案三: 同样需要架设一套基本与现有QQMAIL相同的系统:在 广州架设服务器,安装QQMAIL应用模块(WEBMAIL、 SMTP/POP3等); 在深圳枢纽架设服务器,安装QQMAIL后台存储; 利用枢纽带宽,把旧系统数据同步到枢纽新存储上; 搬迁安装后台存储的服务器到广州,修改广州新系统 的配置,让应用与后台存储完成接合 再使用工具软件进行深广新旧系统数据增量同步; DNS切换,新系统提供服务;
如果事情可能出错,就一定会出错。
一刀切迁移?
旧client 旧Server 有BUG会导致 数据丢失、 支撑不了压 力 一刀切 新DB 数据库缺少 必要数据 新系统 新client 新Server
旧DB
旧系统
结果是…
回滚 新系统无法上线测试
失败案例 (2)
某美国软件开发商给日本网络运营商开发了新的邮件系统,需要用新 的系统替换旧的系统 方案:将所有用户数据及邮件倒入新系统,结果… 用户数据开始迁移顺利,新系统运行正常了几天
没回退性,风险太大,绝对不可行
广研的搬迁方案
方案二: 在广州IDC机房架设基本满足QQMAIL系统运营和存所 有QQMAIL数据的设备 在新设备上架设QQMAIL应用 使用工具软件让深圳与枢纽的数据进行同步 保证两地数据一致和应用一致后,修改DNS指向 QQMAIL服务由广州设备接替
物理搬迁,容易做成物理损坏 任一台机器物理损坏都会导致迁移失败
总结广研的方案
物理搬迁,风险大,而且劳民伤财。
在线系统平滑升级
在线系统升级要求
尽量保持7×24小时服务
用户不受任何影响或影响很小
DB平滑扩容
QQGame的DB分裂,不需停止用户的游戏过程
Db11
db12
db12
S1
S2
请用5分钟设计一个平滑扩容的方案
系统在各省已建设完成,需要通过网络进行数据迁移操作。
方案:用10Mbit的网络带宽分批传输5Gbytes的数据,计划 数据传输需要时间1个多小时,共停止系统3个小时,结果…
网络质量抖动,传输用了3个多小时 数据倒入数据库,完成倒入接近85%时,数据库崩溃 数据库修复用了3个多小时 继续倒入直到完成为止(幸运的是当时设备及数据库都没有大的损坏)
Client v1.0 Server v1.0
Client v1.1
Server v1.1
请用5分钟设计一个多版本兼容方案
多版本支持
Client v1.0 1.0逻辑
Server拒 绝非v1.0 特性
Server v1.0 1.0逻辑
Client v1.1 1.0逻辑 1.1逻辑
Client屏 蔽v1.1特 性 Server假 装v1.0