说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

亚马逊云平台的迁移过程

HTML文档下载 WORD文档下载 PDF文档下载
文章分别从成熟老系统的常见问题、迁移过程需要考虑的问题以及迁移后带来的收益说起,详细介绍了亚马逊云平台的的迁移过程及注意事项。

【导读】本文转自Bruce Dou的博客,作者分别从成熟老系统的常见问题、迁移过程需要考虑的问题以及迁移后带来的收益谈起,详细介绍了亚马逊云平台的的迁移过程及注意事项。

最近3个月变化很多,离开呆了5年多的北京,开始英国的工作和生活。到这之后基本在做系统向亚马逊云平台的迁移,踩了不少坑,收获也很多。由于系统的迁移涉及各个常见的架构组件,边边角角的细节很多。和大部分系统一样,长时间野蛮成长积累了很多问题。这样的老系统迁移到新平台意味着你需要处理所有之前埋下的问题。公司之前聘请了亚马逊推荐的第三方咨询服务工作在做迁移,但是由于问题太多,拖了很长时间没有完成。

成熟老系统常见的问题:

1. 缺乏文档

这应该是大小公司都存在的问题。文档会极大降低开发效率,并且互联网项目的特点是易变和追求速度,详细文档不是很好的方案。这就要求方案和细节设计上的合理性和不要做 “精巧”方案。结构化设计,不要零散的组成,这样其他人即使没有文档也可以理解。

2. 项目中临时方案太多

导致后来看起来很别扭而且不容易理解,半截工程。系统中存在大量“精巧”的设计,导致后来者难以理解。这也告诉我们做设计的时候尽量简单通俗易懂,项目设计的可沟通性也是很重要的一方面。某位工程师说自己花了1周的时间才搞明白Postfix的收邮件并自动解析的过程是怎么运行的。

3. 代码质量参差不齐

代码质量问题每个大点的团队都没法保证,保持代码库的干净很重要。

4. 繁杂的业务

5. 代码的Bug和代码对环境的兼容性

之前的系统使用配置文件做主从读写分离,配置文件由其他系统控制。但是配置文件确保留在代码库中,这意味着假如代码回滚或者 check 分支出错,配置文件会发生改变。不该发生的全会发生,这样的事情确实发生了。导致部分操作写入从库,从库与主库同步失败,典型的脑裂问题。最后只好花了很长时间重做从库的同步。这样的问题处理并不复杂,复杂的在于如何发现这个问题的原因。业务系统各种奇怪的表现,有时候很难想到问题的根源。

迁移过程需要考虑的问题:

1. 完善测试

性能测试可以采取流量镜像复制,读操作有很多简单可靠的流量复制工具,有时候根本不需要一个高大上的流量复制系统。并且大部分系统都是读多写少,测试不是什么难题。

功能性测试只能尽量做足,让熟悉系统的用户进行。

2. 无缝迁移

整个过程基本实现了平滑无缝迁移,系统的没有停止 1 分钟运行。由于项目的特点,比较少写操作,重点是读,暂停写操作后作将 HaProxy 后端逐步指向新集群,等全部流量导入新集群后修改 DNS 指向新集群。这里还涉及到 DNS TTL 从长变短再变长的修改过程。

缓存预热很重要,尤其是数据库的预热,这就要求新集群流量导入逐步进行,防止对整站延迟的影响。

3. 回退方案

由于暂时停止写操作,即使流量导入到新集群后测试发现问题仍然可以指回旧集群。

4. 改进还是保持原状

由于架构组件的选择余地很大,之前的各个组件的配置是否合理需要很长时间 Review。这里就要权衡保持原状还是一次性做好优化。比较好的方案是如果不是 BUG 则保持原状,等系统完成迁移再进行改进。

5. 性能的持续监控和对比测试

性能监控工具已经非常成熟了,比如 AppNeta 和 New Relic , 基本可以把控各个组件的性能。在迁移之前也可以进行镜像流量复制对比测试新旧集群的性能。

迁移带来的收益

1. 重新设计的发布自动化

业务代码、系统配置、云架构配置的分离,任何操作的版本化,可回退。

2. 弹性扩展,总体成本的降低

迁移到亚马逊的主要原因就是高低峰流量差异很大。迁移后低峰期可以节约 1 半的机器成本。

3. 跨区域容灾,无单点故障

实现了 Multi-AZ,任意单点故障不影响业务运行。Web 前端服务器可以随手关掉,数据库的升级,配置改动也无任何影响,当然这归功于 RDS Multi-AZ 功能。

4. 运维难度的降低,无需运维

系统会自动根据负载进行增减机器,所以无需担心压力大把机器打垮,单机器的各种故障也无需人工处理。

来自:Bruce Dou Blog

focus(fn)-JQuery API focus() -JQuery API hover(over,out)-JQuery API keydown(fn) -JQuery API keypress(fn)-JQuery API keyup(fn)-JQuery API load(fn)-JQuery API mousedown(fn)-JQuery API mousemove(fn)-JQuery API mouseout(fn)-JQuery API mouseover(fn)-JQuery API mouseup(fn)-JQuery API one(type,data,fn)-JQuery API ready(fn)-JQuery API resize(fn)-JQuery API scroll(fn)-JQuery API select(fn)-JQuery API select()-JQuery API submit(fn)-JQuery API submit()-JQuery API toggle(even,odd)-JQuery API trigger(type)-JQuery API unbind(type,fn)-JQuery API unload(fn)-JQuery API Effects特效-JQuery API animate-JQuery API fadeIn(speed, callback)-JQuery API fadeOut(speed,callback)-JQuery API fadeTo(speed,opacity,callback)-JQuery API hide(speed,callback)-JQuery API hide()-JQuery API 老千,上次的那个rose下载网站,你还记得吗?偶忘了,搜索了几遍野没找到//牛虻 在VisData中正常通过但在程序中不能通过,为什么 向各位高手请教两句:tab_1.post selecttab(3) 的作用是不是向tab发送消息,消息内容是selecttab(3)?yield()是不是从消息中查找是否有相同消息,如果有则将它拿出执行? 我很莱,谁能给我简单的解释一下线程是什么?脱壳是什么? 图象资料,轻而易举30分! 和大家交流一下泛型化编程 文件拷贝的简单问题, 大家好:请问:access的mdb数据库如何编程知道里面含有那几个表? 怎样将mysql驱动加到jbuilder中,让Database pilot能认得出,高分相送 高分求教:关于ADO实现数据库!!!!!!!!!!谢谢 请问如何一次删除数据库中的所有数据? 怎么使label框透明!帮帮我! TNMUDP问题:怎样才能知道RemoteHost连接失败??? 谁有CuteFTP Pro2.0注册码?谢谢 如何进行DropDownList绑定,谢谢! 请问一个CString的问题 那个168查分台太可恶了 WIN98与WIN2000共享一个OFFICE??? 网络连接怎么检测 能把IE浏览器最大吗?俺指的是把右上最大按钮最大化? 怎么判断表单传送的整数中不能有字符,谢谢!!! 如何把我写好的说明书放到我VC++应用程序的帮助文件中? 求最容易理解,最容易上手的数据库书籍,各位老大请指教,谢谢!! 快!快快!!来拿分呀!!!!!!!!一个简单问题。 WIN98与WIN2000共享一个OFFICE 2000??? 在Servlet中如何使用JavaBean(调用其中的方法)?主要是格式!如果网上有这方面的资料也可以告诉我,我急用,不胜感激!40分送上!(只有这些了) 请问各位:怎样才能知道某一个进程所占用的cpu比例,mem大小? 请问在恢复sql 7.0一个数据库文件时,出现Error 3624:这是什么意思?? 关于程序员考试 哪位知道怎么一行一行地读取文本文件呀!!!! 谁知道的,来帮我一下——有关网页浏览计时的问题 如何将数字变为字符串格式化输出? Websphere下使用连接池的一些问题 TNMUDP问题:怎样才能知道RemoteHost连接失败 ? 算法请教,我要调整一副黑白数字图的浓度,我是用直方图的方法好呢,还是先转成HLS在转回来好?若都不对,应该怎么做? 如何 在ASP中用ping 一个小问题 请用javascript VC++6是98年才出来的,为什么没有最新的ADO原生驱动,而通过ODBC的话速度太慢; 多媒体 谁有MPEG-4的资料! 如何实现类似资源管理器的分隔条 我是菜鸟,请教各位GG,MM?????? 我的计算字段怎么老要计算,而且经常有死循环,到底该注意些什么,在哪里控制? 如何取消鼠标右键菜单和使shift功能键无效?(紧急) 一个非常非常简单的一个问题 如何安装Jbuilder 5.0 ? 多媒体技术 chr(176)有什么用? 如何将3DMAX图片在vb窗口中显示 各位大侠,怎样取得复合数据窗口里面的嵌套表的Label名。 一个关于访问数据库很菜的问题 克服摩擦力做的功指的是总动力做的功吗,还是只是摩擦力做功的相反数 传送带上的克服摩擦力做功怎么算?是摩擦力乘以A物块与传送带的相对位移还是B物块的位移还是C传送带的位移?传送带与物块初速度是相反的 急:天津到济南的铁路长357千米,一列快车从天津开出,同时一列慢车从济南开出,两车相向而行,经...急:天津到济南的铁路长357千米,一列快车从天津开出,同时一列慢车从济南开出,两车相向而行, 电热水壶怎样烧水 为什么自行车的主动轮和从动轮的摩擦力分别作为动力和阻力?这和滚动摩擦还有滑动摩擦有关系吗?如果有的话滚动摩擦和滑动摩擦又分别是什么呢? 青岛到济南共380千米,客车、货车,两车相向而行,客车每小时行55千米,货车行45千米,经过几小时相遇? 煤气灶火特小怎么回事我是新换的煤气,做饭的时候火特小,没换之前两个都能打火,虽然也不是很大,可最起码能用,现在是特别的小,是怎么回事 一列慢车从某站出发,每小时行48km,过了一段时间,一列快车从相同站出发与慢车同向而行每小时行72km,又经过1.5小时追上慢车,快车开出前,慢车已经行了多长时间? 关于驱动轮和从动轮所受摩擦力的方向的问题.为什么俩个轮所受摩擦力的方向会不同? 摩擦力一定是阻力, 甲乙两站的路成为360km,一列慢车从甲站开出,每小时行驶48km,一列快车从乙站开出,每小时72km,快车快车先开25分钟,俩车相向而行,慢车行驶了多少时间相遇? 摩擦力 皮带主动轮 从动轮是皮带带动轮转,还是轮带动皮带转?哪个先转?怎样判断主动轮,从动轮,或皮带上一点的摩擦力的方向?还有,比如,C、D分别是两轮边缘与皮带接触的点,那C,D到底在皮带 动摩擦力一定是阻力么? 甲乙两个车站相距168km,一列慢车从甲站开出,速度为36km/小时,一列快车从乙站开出,速度为48km/小时.慢车先开1小时,相向而行,快车开几小时后与慢车相遇?(列方程) 皮带上的点和主动轮与从动轮的上点所受的摩擦力有什么不同? 长200m的火车以43.2km/h的速度匀速行驶在京九线上,当它穿越1000m长的隧道时,所需时间为多少? A,B两地相距240KM,慢车从B地开出,每小时速度48KM,快车从A地开出,每小时速度72KM,若两列车同向快车在慢车的后面,慢车先开30分钟,慢车开出几小时后快车追上慢车? 客车以72km/h行驶,与它平行行驶的货车长度300m.客车上的人见货车从他眼前经过用10秒,货车匀速行驶速度 已知一列火车长200m,以20m/s的速度通过长1000m的隧道,这列火车完全通过隧道的时间是?、、思路啊 甲乙两站相距360km,一列慢车从甲站开出,每小时行48km,一列快车从乙站出发,每小时行72km,慢车先行25分钟两车相向而行,慢车开出几小时后与快车相遇?(用方程解,快啊) 一辆长12m的客车以72km/h的速度匀速行驶,突然迎面开来一辆长200m的货车,以10m/s的速度匀速向后驶去,那么坐在窗口的乘客看见货车从他眼前驶过的时间为? 计算题 : 一列车200m的火车穿过一个长1000m的隧道用了2min 火车的速度多大? 请写清做题步骤这是物理题 为什么电水壶烧水那么快 一主动轮通过皮带带动从动轮运动,主动轮顺时针运动,则主动轮上点M与从动轮点N的摩擦力方向为注:两轮呈水平放置,主动轮在左,从动轮在右,M为主动轮上最左边一点,N为从动轮上最右边一点 一列长200m的火车以100km/h的速度通过1000m的隧道,这列火车完全通过隧道需要多少秒?这是一道选择题。选项中没有答案是12秒的 。A 70s;B 60s; C 50s D 30S.写出计算过程 物体克服摩擦力做功与 摩擦力对物体做功有什么区 电水壶里没放水就直接插电炒水了,里面的发热管发黑了,继续用这样的发热管烧水,会不会使烧出来的水有毒呀? 一列长200m的火车穿过一个长1000m的隧道用了两分钟,则该火车的速度多大? 一列货车以6m/s的速度在平直铁路上运动,由于调度失误,在它后面120m处有一列客车20m/s的速度向它靠近...一列货车以6m/s的速度在平直铁路上运动,由于调度失误,在它后面120m处有一列客车20m/s的 货车以30千米一小时的速度从车站开出3小时后,一辆摩托车以50千米一小时的速度沿货车行驶的路线,几小时能 摩擦力属于阻力吗? 客车以20m/s的速度行驶,突然发现同轨前方120m处有一货车正以6m/s的速度匀速前进.于是客车紧急刹车,以0.8m/s“的加速度匀减速运动,试判断两车是否相撞 货车以30千米1时的速度从车站开出3小时后,一辆摩托车以50千米1小时的速度沿货车行驶路线追去,则几小时可以追上货车?及及及! 阻力和摩擦力一样么若一辆车匀速直线运动,则摩擦力与牵引力相等 ,那摩擦力与阻力相等吗?Why 新买的快速不锈钢电热水壶烧水都有味道,怎么回事?喝这些水对身 一辆摩托车追赶它前面相距120km并以50千米一小时的速度行驶的卡车,摩托车追了3小时才追上,求摩托车速度 下列货车以28.8km/h的速度在铁路上运行,由于调事故,在后面700米出有一列快车以72km/h的速度在行驶,快车司机发觉后立即合上制动器,但快车要滑行2000米才停下(1)两车会相撞吗,说明理由(2) 没有松香,请问焊锡膏能增加电机和皮带传送的摩擦力吗?洗衣机的皮带打滑了,百度了下,摸松香能够增加摩擦力.可是家里没有松香,突然想起电焊的时候摸松香和焊锡膏都可以,两者貌似成分相 一辆汽车以48千米每小时的速度做均匀直线运动.半小时后,一辆摩托车从车站出发去追汽车,经1小时30分追上,求摩托车的速度 用电水壶烧水电线发热正常吗? 皮带轮是增大摩擦力还是减小摩擦力,为什么? 工程塑料做的电热水壶烧水会不会有毒啊我在淘宝上买的,还有一种是不锈钢材料的, 物体的拉力是不是始终等于滑动摩擦力 C增大摩擦力 D减小摩擦力请仔细说明理由谢谢了.同一辆汽车能够输出的最大功率是有限的,故在输出功率不能增加的情况下,为了增大牵引力以利于爬坡,一般汽车的方法是()A减小速度 C增大 求初中物理帝或者物理老师给我解答一题关于斜面上克服摩擦力做的功的问题.对这方面很了解有把握解答问题的就家窝扣,1736240867 静摩擦力是否等于拉力 滑动摩擦力是否等于最大静摩擦力是不是拉力一定要大于最大静摩擦力才可以生成滑动摩擦 摩擦力减小能加快速度,摩擦力加大能加快速度吗? 一辆卡车在水平公路上以15m/s的速度匀速行驶.司机因事故突然紧急刹车.已知刹车时加速度的大小是7.5m/s²,刹车过程所用的时间为多少s.如果要求它在急刹车后22.5m内停下来,它行驶的速度不 一列货车以28.8km/h的速度在铁路上运 行,由于调度事故,在后方700m处有一 列快车以72km/h的速度行驶,快车司机 发觉后立即合上制动器,但快车要滑行 2000m才能停下,试通过计算判断两车 是否会相 如图所示,传送带以 v的初速度匀速运动.将质量为m的物体无初速度放在传送带上的A端,物体将被传送带带到B端,已知物体到达B端之间已和传送带相对静止,则下列说法正确的是( )A.传送 一货车严重超载后的总质量为49t,以54km/h的速率匀速行驶.发现红灯时刹车,货车做匀减速直线运动,加速度的大小为2、5米每二次方秒,不超载时则为5米每二次方秒,求若前方无阻挡,问从刹车到停 为什么电热水壶烧水时声音很大? 传送带上的摩擦力做功是怎么算的?比如,有一传送带上有个木块和传送带一起运动,子弹把它打穿,并且木块的方向反向,在木块被打穿后,到再与传送带一起运动几秒钟,求传送带对外做的功和子 玻璃电水壶好还是不锈钢的好?价格如何?那个牌子比较好? 用电热水壶烧水是哪种变化?说一下为什么、、 传送带摩擦力做功问题传送带AB以恒速V=3M/S向右运动,AB长为3.8M,质量为m=5kg的物体,静止放到左端A处,同时用水平恒力F=25N向右拉物体,如物体与传送带间的滑动摩擦系数为0.25,求系统机械能的损 一旅客乘的货车每小时40千米速度前进,他看见迎面来的火车用了6秒时间从他身边驶过,已知迎面而来的火车长150米,求迎面来的火车的速度.请写出具体的解题思路 一列列车从20的速度在平直的轨道上运行时,发现前面180处有一货车正以6的速度同向行驶,快车立即合上制动器,一列列车20m/s的速度在平直的轨道上运行时,发现前面180m处有一货车正以6m/s的速 物体在传送带上摩擦力做功水平的传送带以速度V=6M/S的顺时针运转,两轮N,M间隔为L=10M,若在M轮的正上方,将一质量为M=3KG的物体轻放在传送带上,已知物体与传送带的动摩擦因数为0.3,在物 电水壶烧水已经烧开还要继续烧几分钟才可以喝?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn