毕竟啥才是互联网架构“高可用”
副问题[/!--empirenews.page--]
最近留言问“高可用”的伴侣颇多,找汗青文章又找不到,故从头优化宣布,但愿各人有收成。 一、什么是高可用 高可用HA(High Availability)是漫衍式体系架构计划中必需思量的身分之一,它凡是是指,通过计划镌汰体系不能提供处事的时刻。 假设系同一向可以或许提供处事,我们说体系的可用性是100%。假如体系每运行100个时刻单元,会有1个时刻单元无法提供处事,我们说体系的可用性是99%。 许多公司的高可用方针是4个9,也就是99.99%,这就意味着,体系的年停机时刻为8.76个小时。 百度的搜刮首页,是业内公认高可用保障很是精彩的体系,乃至人们会通过 www.baidu.com 能不能会见来判定“收集的连通性”,百度高可用的处事让人留下啦“收集通畅,百度就能会见”,“百度打不开,应该是收集连不上”的印象,这着实是对百度HA最高的褒奖。 二、怎样保障体系的高可用 我们都知道,单点是体系高可用的大敌,单点每每是体系高可用最大的风险和仇人,应该只管在体系计划的进程中停止单点。要领论上,高可用担保的原则是“集群化”,可能叫“冗余”:只有一个单点,挂了处事会受影响;假若有冗余备份,挂了尚有其他backup可以或许顶上。 担保体系高可用,架构计划的焦点准则是:冗余。 有了冗余之后,还不足,每次呈现妨碍必要人工参与规复势必会增进体系的不行处究竟践。以是,又每每是通过“自动妨碍转移”来实现体系的高可用。 接下来我们看下典范互联网架构中,怎样通过冗余+自动妨碍转移来担保体系的高可用特征。 三、常见的互联网分层架构 常见互联网漫衍式架构如上,分为:
整个体系的高可用,又是通过每一层的冗余+自动妨碍转移来综合实现的。 四、分层高可用架构实践 1. 【客户端层->反向署理层】的高可用 【客户端层〗】稻反向署理层】的高可用,是通过反向署理层的冗余来实现的。以nginx为例:有两台nginx,一台对线上提供处事,另一台冗余以担保高可用,常见的实践是keepalived存活探测,沟通virtual IP提供处事。 自动妨碍转移:当nginx挂了的时辰,keepalived可以或许探测到,会自动的举办妨碍转移,将流量自动迁徙到shadow-nginx,因为行使的是沟通的virtual IP,这个切换进程对换用方是透明的。 2. 【反向署理层->站点层】的高可用 【反向署理层〗】稻站点层】的高可用,是通过站点层的冗余来实现的。假设反向署理层是nginx,nginx.conf里可以或许设置多个web后端,而且nginx可以或许探测到多个后端的存活性。 自动妨碍转移:当web-server挂了的时辰,nginx可以或许探测到,会自动的举办妨碍转移,将流量自动迁徙到其他的web-server,整个进程由nginx自动完成,对换用方是透明的。 3. 【站点层->处事层】的高可用 【站点层〗】稻处事层】的高可用,是通过处事层的冗余来实现的。“处事毗连池”会成立与下流处事多个毗连,每次哀求会“随机”选取毗连来会见下流处事。 自动妨碍转移:当service挂了的时辰,service-connection-pool可以或许探测到,会自动的举办妨碍转移,将流量自动迁徙到其他的service,整个进程由毗连池自动完成,对换用方是透明的(以是说RPC-client中的处事毗连池是很重要的基本组件)。 (编辑:河北网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |