阿里云
阿里云多端小程序中小企业获客首选
发表主题 回复主题
  • 30782阅读
  • 10回复

【架构解读】利用RDS实现高可用架构

发帖
318
云币
386
— 本帖被 rds-pd 执行加亮操作(2015-06-24) —
     “高可用”这个词看上去是高大上的IT界专业用词,其实不然。 在我们生活中不知不觉在已经在多个场景为己的设计了高可用。 ?G7*^y&Q  
]oz>/\!  
        举个简单的例子,在繁忙的城市里,警察叔叔为了解决拥堵问题经常会进行交易管制、单双号限行等措施,所以你为了保证能够正常上下班,会买两辆车,一辆今天开, 一辆明天开。再万一你开车横冲直撞不小心被扣了, 还有一辆可以开,这就是高可用设计。 fuCt9Kjo<  
        再比如你是Dota迷,你老婆是网购狂,所以你为了晚上在玩Dota的时候电脑不会被老婆征用去逛淘宝,你会再买一台电脑。这样一来一晚上也就太平了,你玩你的游戏,她逛她的淘宝。再万一你老婆脾气不好,火气一大把电脑敲坏,你还有一台可以给他敲,这也是高可用设计。 9An \uH)mL  
         UUbO\_&y  
        现在你是不是会觉得高可用不就是简单的多份嘛,这么简单谁都会啦。是的,但你想真正的让高可用设计能够在异地的情况下能够发挥功效,我们还需要进一步看细节。     i4WHjeo\  
        比如你买两辆车,可是另外一辆是皮卡,这时候悲剧来了:高峰时间内高架不让上皮卡。  比如你买两个电脑,一个是Windows 2015,结果玩一会Dota就无响应了, 那对不起了兄弟,这时候你只能眼睁睁的看着你老婆欢快的花着你的钱了。 nQ|($V1?W  
~,)D n  
nFI<Te^)  
        所以高可用设计要变成高可用系统,让用户能够真正的用好还有很多细节要考虑。 VM&Ref4  
        对于一个应用来说,在最底层为你存储宝贵数据数据库,其高可用是运维、开发、老板都关心的事情。一旦数据库挂掉,所有应用都会瘫痪的时候,你眼前一定会浮现你老板的那张一点都不和蔼可亲的脸。 W?!rqo2SP  
   ^ T`T?*h  
        今天阿里云数据库(RDS)为你解决这样的烦恼。RDS在系统构建之初,从网络到硬件再到系统都是基于高可用设计,他可以做到故障30秒无缝转移,对应用完全透明。 这好比你有两辆宝马,但不管你开哪一辆,你都不用换钥匙、不用调整坐椅位置、不用调整你喜欢的电台。下面我们一起来看一看他的高可用设计。 snu?+*6  
实例: |/8!P Km  
Qi=0[  
yt,Ky8y1  
=TzJgx  
        你拥有的每一个实例,都会得到一个连接串:地址+端口; 这个连接串好比车钥匙 /[/{m]  
        每个RDS实例在后端同时拥有两个数据库实例,好比两个加满油的宝马 S9nn^vsK  
1=9GV+`n  
        在应用接口设计上,用户只需要使用一个连接串,就可以连上RDS实例, 你不用关心后端是哪个数据库实例在为你服务。 当一个数据库实例发生故障时, 另一个会立即顶上,而且对应用是完全透明的。你无需变更应用的连接配置项,在30秒内会自动恢复 。 2ve<1+V_  
kz("LI]  
zLg$|@E&  
数据库实例: gcO$T`  
        虽说有多个数据库实例, 但我们为了进一步减少对用户的影响。 对数据库实例内部也做了高可用设计, 数据库实例的载体还是X86服务器, 所以我们对服务器的硬件配置要求都是冗余的,这里包括网卡,电源,交换机,磁盘。 X&rsWk  
8:*ZuR|~  
m]Qs BK  
1.交换机和网卡 vd$>nJ"  
QuI!`/N)z  
            见下图, 所有服务器都配置有双网卡,并且处于双活状态,在正常情况能够承载2个网卡的流量。 f w)tWJVD  
VQ2'a/s  
I 0x;rP  
        两个网卡上联分析接到两个交换机, 这两个交换机也都处于ACTIVE状态 ,正常情况下都能够承载流量。 X_bB6A6  
        在这样的配置下, 一个网卡坏掉, 我们还有另一个网卡能够承载流量。一个交换机坏掉, 所有流量都会切到另一个交换机上,这样的切换都发生在物理网络里,一般情况下是一次TCP包的重传,所以对OS层、应用层都是透明的。 _ /.VXW  
(Nd)$Oq[4  
2.电源 w~pe?j_F$  
        在我们的标准机房里,每一个服务器所在的机柜都有A、B两路电源输入。 而所有服务器我们都配置双电源模块。 ,+C?UW  
;Oq>c=9%  
        如此设计可以防止以下情况出现: Fe$o*r,  
        1) 电源模块损坏,IDC同学们需要能够热挺拔替换,概率 < 0.01% u WdKG({][  
        2) 电源线路故障,变压器也是可能会坏的,所以偶尔关闭一条线路进行维护是可以理解的。不过这种概率 < 0.01 % i|/G!ht^e  
        当然在电力如此紧张的今天,我们IDC还是配有超大马力的发电机以备不时之需,记得在2013年的一个夏天,我们从此喜欢上了从它身上散发出来的那股柴油味儿。 %Q.M& U  
ER[$TH&  
4OO^%`=)M'  
3.磁盘 _F4=+dT|  
[ z/G  
            数据的载体由不同的介质而损坏率不同,依次为:SATA盘,SAS盘,SSD盘。其他部件坏了可以换一个,因为他们没有状态所以可以能快恢复工作。而数据的载体,要是坏了是个麻烦的事情,有可能数据就丢了,所以必须受到强保护。 其实在市场上也有那种宣称永远不会坏的存储介质,说的是发生概念非常的低, 不是运维人员不相信你,而是他们不愿意去拼自己的运气。墨菲说你担心的事情就一定会发生,所以我们还是未雨绸缪。 $/(``8li_  
Ik A~+6UY  
@<4U &  
Yb[)ETf^  
        磁盘的高可用方案一般是使用RAID阵列;根据保护级别有RAID0—RAID10,RAID53等10多个组合类型,数据库最常用的是RAID 10 , 他除了高冗余外可以获得最好的性能 。 Ic&YiATj  
At[SkG}b  
Hl{ul'o  
4.部署 Pd `~#!  
        看上去我们从网络、硬件配置、整机服务器都有了冗余。 就好像你有两个车,而且每个车都有备胎, 就一定能够顺利地载你去上班吗? 不是的。 你要是把两个车都放在同一个车库里,那天就是大雨把这个车库给淹了, 所以我们把车停在那儿也很重要。 在部署上,RDS 分单可用区,多可用区。 A5 4u}  
        单可用区是指这多个数据库服务器都部署在同一个数据中心(简单理解为机房)里,而且还是要保证这两个服务器在不同的机柜上,防止一个机柜整体掉电或者空调过热导致不能正常工作。 i\.(6hf+  
$`vXI%|.  
        而多可用区部署,是指多个数据库服务器会部署在不同的数据中心里面,这天然做到了任何物理组件坏掉不会影响另一边。不过这样的部署对底层网络的要求会很高,它要求多个机房的所有服务器都处于在同一个网络里面,每个IP都能够在不同机房路由可达,延时在2ms以下,IP规模可能多达10万台。 )7P>Hj  
WHLTJ]OB  
/Zx"BSu  
^Mhh2v  
     所以,今天你拥有的每一个RDS实例都是长这个样子的, 希望看完这片文章以后你可以省心并多思考业务的发展,早日能够任性买到到5台宝马,老婆除了热衷花钱更热衷赚钱。 #\_FSr fX  
C+t|fSJ  
A%&lW9z7  
b%C7 kL-  
el<[Ng[  
wLE|J9t%Ea  
8QI+O`  
]a*26AbU+  
w-@6qMJ  
Aaz:C5dtU  
Gu2=+?i?h  
[ 此帖被rds-pd在2015-06-24 10:41重新编辑 ]
本帖最近评分记录: 1 条评分 云币 +5
宝商云服务 云币 +5 您的帖子很精彩!希望很快能再分享您的下一帖! 2015-07-11
级别: 小白
发帖
30
云币
36
只看该作者 沙发  发表于: 2015-06-25
Re【架构解读】利用RDS实现高可用架构
顶,自从有了阿里云,小公司都不需要运维了。
级别: 科学怪人
发帖
9441
云币
14683
只看该作者 板凳  发表于: 2015-06-25
不错 支持
级别: 程序猿
发帖
270
云币
182
只看该作者 地板  发表于: 2015-06-26
泼一泼 你的冷水。。。 AU8sU?=  
i G%R'/*  
本来以为用阿里云可以拥有高可用性了 *}>)E]O@  
很Happy地备份还原 谁知道 业务需要想换节点的时候 c? Mbyay  
异地迁移问题悲剧了。 -6e^`c6{  
gzDfx&.0  
本来以为云高可用很牛很厉害很灵活 很happy地用着 谁知道 当中途需求改变 要降低配置的时候 2r@9|}La  
阿里云说 No 我们不支持减配。 59X XmVg  
}LoMS<O-[  
本来以为香港节点可以兼顾国内国外 谁知道推出后说是 只能辐射东南亚等周边地区。 onIZ&wrk  
0W)|n9  
本来以为美西节点成本比国内低得多价格应该比国内低吧 -'^:+FU  
谁知道出来后 价格和国内相当 几乎没啥区别(win由于有授权费的问题甚至比国内还贵了)。 c^z) [  
|z0% q2(  
RDS 还没用过,不过貌似不是很便宜。 1So`]N4  
{f;DhB-jj  
x-b}S1@  
$s"-r9@q  
[ 此帖被sgf在2015-06-26 02:49重新编辑 ]
级别: 新人
发帖
1
云币
1
只看该作者 4楼 发表于: 2015-06-26
Re【架构解读】利用RDS实现高可用架构
级别: 新人
发帖
19
云币
27
只看该作者 5楼 发表于: 2015-06-28
Re【架构解读】利用RDS实现高可用架构
比较关心 数据备份的问题, 楼主可以浅显易懂的谈谈数据备份怎么做的? 是不是真的能确保万无一失,数据不会丢失?  商业数据丢失后果很严重啊
发帖
318
云币
386
只看该作者 6楼 发表于: 2015-06-30
级别: 新人
发帖
2
云币
2
只看该作者 7楼 发表于: 2015-07-02
Re【架构解读】利用RDS实现高可用架构
有了 RDS,至少 DB 维护这 有了 RDS,至少 DB 维护这块还是省了不少心的 块还是省了不少心的
级别: 论坛版主
发帖
1030
云币
855
只看该作者 8楼 发表于: 2015-07-11
您的帖子很精彩!希望很快能再分享您的下一帖!
级别: 新人
发帖
17
云币
63
只看该作者 9楼 发表于: 2015-09-10
Re【架构解读】利用RDS实现高可用架构
支持一下,省了不少心!
级别: 科学怪人
发帖
9985
云币
21878

只看该作者 10楼 发表于: 2015-09-14
RDS对于中小企业来说,确实是个好东西,我们公司正在用。
发表主题 回复主题
« 返回列表上一主题下一主题

限100 字节
批量上传需要先选择文件,再选择上传
 
验证问题: 阿里云官网域名是什么? 正确答案:www.aliyun.com
上一个 下一个
      ×
      全新阿里云开发者社区, 去探索开发者的新世界吧!
      一站式的体验,更多的精彩!
      通过下面领域大门,一起探索新的技术世界吧~ (点击图标进入)