来源:计世网 作者:宋辰

10月22日,全球80%以上的工程师平日工作依赖的GitHub出现大面积故障,服务运营中断24小时。要知道,这上面托管了Python、Ruby on Rails这样众多大名鼎鼎的开源项目,全球2800万用户,托管的5700万个代码仓库受到影响,24小时的故障导致绝大部分互联网企业的技术人员无法正常工作。

2014年,某银行系统中断37个小时,所有跟该银行相关的账户无法存款或者取款。如果那天你的亲人生病在医院,正好需要取钱,你发现37小时内无法取款,这就是生命攸关的事情了。而如果很多人发现这家银行取不出钱,甚至会引发挤兑。

如今,IT系统的稳定性、服务的持续性,已经不仅仅会影响到互联网行业,在传统行业同样非常重要,已经与我们的生活息息相关。

业务用不“掉线”才是真“多活”

GitHub这次的业务中断,究其原因,是因为两个机房之间的网络出现中断,导致系统发生脑裂,两边的数据不一致,为了保证用户数据的一致性,只能直接停服,用24小时的时间恢复数据。

破坏、盗窃、遗失或自然灾害都会使企业的应用程序崩溃并破坏其数据。在多活的场景里,恢复时间目标(RTO)和恢复点目标(RPO)是两个重要的指标。RTO指的是应用程序可以中断或关闭多少时间而不会对业务造成重大损害。RPO值得是在对业务造成重大损害之前可丢失的数据量。

在理想的情况下,企业的数据保护基础设施可以立即在故障点时间恢复所有的应用程序和数据。企业可以立即切换故障应用程序,并连续复制其数据以实现接近零的损失。

青云qingcloud怎么样(如何做到真正多活)(1)

“多活的三大目标是增强系统可靠性,提升业务连续性,使业务运行不受故障或灾难的影响,希望用户可以7*24小时保证业务在线。那就必须规避任何的单点,包括一个数据中心内部的单点甚至是整个数据中心宕机的单点。” 青云QingCloud运营副总裁林源说,“不过,并不是所有的业务都需要多活,需要多活的业务,一是这个业务很重要,它故障后会影响公司业务,导致客户资金受损;二是这个业务面向广泛的客户,影响比较大。”

从业务场景来看,大规模线上运营的业务,需要的是业务零中断,也就是RTO=0。对于电商、生活服务、社交网络来说,业务中断是不能忍的,因为每天都有大量客户在使用服务。如果双十一,有1秒钟网络中断,一个电商网站损失的不仅仅错过的“滴答”一声,而是几十万笔交易。而对于银行、保险、重型制造等拥有涉及国计民生的核心基础数据行业来说,这些业务必须满足数据不丢失,它对RPO更敏感。所以,这些行业的IT架构往往会采取“两地三中心”,所谓“两地”是两个城市,“三中心”是三个数据中心。以一个典型的银行部署为例,它的两个主要的数据中心在北京,另一个做灾备的数据中心在上海。在北京的两个数据中心提供双活的业务,在上海数据中心提供的是灾备的业务。

并不是只有银行、BAT才需要,一家服务很多客户的创业公司同样也需要多活。“但创业企业无法投入这么多的成本自建‘多活’基础设施,这就是我们要做的事情。”林源说。

三层面助力企业部署多活系统

林源指出,是否需要“多活”取决于企业业务的重要性,是否促使企业愿意承担成本部署多活。另外一点,现在采用云的方式比自建数据中心成本已经低了不少,所以,从某种意义来看,多活并不会增加太多成本。“百分百的业务量,需要确保的是当一个数据中心宕掉后,另外两个数据中心依然可以接百分百的流量,只需要额外付出1/3的冗余就行了。如果部署在四个数据中心,那么我额外付出1/4就行了。”

青云qingcloud怎么样(如何做到真正多活)(2)

保证业务的多活背后,是数据中心、网络、数据、负载等层面做足准备,这是一个特别复杂的系统工程,一旦底层任意一个环节出现问题,整套多活系统可能就会崩溃。那么,林源所说的让客户以更低的成本、更低的门槛部署他自己的多活业务需要怎样的多活基础架构呢?

基础设施、基础架构(IaaS)、分布式应用是青云不惧宕机的三重保障。

在基础设施层面,“两地三中心”至少需城市、机房、光纤、网络。青云目前有三个大区提供多活服务:北京3区、广东2区、上海1区。

在基础架构(IaaS)层面,当用户部署业务时肯定会依赖必不可少的组件,需要负载均衡器、网络、公网带宽等。青云提供的负载均衡、网络和公网本身是多活的。负载均衡器是承接用户外部的访问的,负载均衡器本身是多机房部署,在北京区三个数据中心都有部署。极端情况下,任意一个数据中心宕机,都不会影响我们给用户提供负载均衡器的服务。

“网络连通是很难搞定的事情,用户想做多活,一定会在多个数据中心之间部署业务。需要通过简单的方式给其提供多个数据中心之间的网络互联、包括VPC、三层网络、二层网络、私有网络、弹性公网IP(外网)。”林源说,“不管哪个数据中心宕掉,外网都不会受影响。我们的流量可以从多个数据中心进来。”

在应用层或者PaaS层面,则给用户提供很好的支撑。用户的业务有前端、中间件、数据库,最难搞定的是数据库,用户想构建多活的业务,只需做最简单的应用层部分和中间件的部分,而这部分的业务绝大部分情况下不会涉及数据,或者不会涉及很复杂的数据一致性问题,客户是能够自己搞定的。其他的负载均衡器、Redis、MySQL以及多个数据中心之间的互联,皆由青云提供。“用户想部署一个多活的应用或者多活的业务会变得很简单,而且很便宜。因为用户只需要付出他部署的业务的资源,和他使用青云的PaaS资源就好了。”林源说。

青云qingcloud怎么样(如何做到真正多活)(3)

林源特别强调,之所以说青云拥有全方位一体化的交付能力,因为青云不光提供公有云服务,也在做混合云和私有云的交付。利用青云的SD-WAN智能广域网加上私有云和公有云统一架构,给客户提供一个混合云架构下的多活基础设施。

来源:东北新闻网

,