容灾系统是指在相隔较远的异地,建立两套或多套功能相同的IT系统,互相之间可以进行健康状态检测、数据同步和功能切换,当一处系统因意外(如火灾、地震等)停止工作时,整个应用系统可以切换到另一处,使得该系统功能可以继续正常工作。

    容灾系统在功能保护程度上又可以分为应用容灾、数据容灾以及存储容灾等三大类。应用级容灾处于容灾生态系统金字塔的顶端。接下来我们一起来探讨一下如何使用Oracle公有云快速实现企业级应用容灾。

Oracle云计算的设计特色

    首先我们了解一下在宏观层面上设计为Region和AD的架构。

Region:一个Region可以直观的理解成一个城市的服务能力集合。每个Region之间通过Oracle Backbone(Oracle 骨干网)互联。Oracle Backbone的链路均采用高带宽的长途DWDM/OTN链路互联,标准的互联带宽为100Gbps。客户如果在Oracle公有云服务的多个Region订阅了云服务,可以通过在Region之间建立私有链接(Remote VCN Peering)来使用Oracle Backbone,以实现安全、高效的数据传输,从而规避互联网链路波动对服务质量的影响,也可以有效的提升了数据安全性、私密性和传输可靠性。

使用Oracle公有云实现应用容灾架构_Java

这里需要说明两点:

第一点:Oracle在网络带宽层面是不会对用户的使用做任何限制(同样适用于Oracle Backbone和互联网出口带宽),例如没有带宽的上限,这一点主要是充分考虑到企业用户的对时延、抖动敏感的应用特点。

第二点:通过Oracle Backbone的私有连接采用隧道技术实现,可以保证数据的安全性和私密性;同时Oracle Backbone也提升了网络的效率和稳定性。

AD:每个Region内部都设计了3个AD,每个AD都是一个相互独立的数据中心,每个AD之间通过高速城域DWDM/OTN环路互联,标准的互联带宽为1Tbps,AD之间的物理距离不能太近(太近了容易沦落到同一个故障域中,这些故障域可能是天灾、人祸等多种可能),同时AD之间的光纤路由距离也不超过80km(这个限制主要是为了保障一个写操作能够在5ms内返回,因为如果超过了这个时间,很多的应用会认为超时而导致操作失败),这样的设计从底层架构实现了本地多中心的冗余数据中心,同时也将此架构扩展为多地N中心的架构。


基于容灾基础架构的应用部署

    在了解了OCI公有云服务(Oracle Cloud Infrastructure)后,我们来研究一下如何基于这个架构来部署我们的应用。

    我们先来看一个经典的应用部署架构,负载均衡、web server、中间件服务器、数据库服务器、以及后台的数据挖掘应用服务器等。

使用Oracle公有云实现应用容灾架构_Java_02

    为了实现高可用性和弹性扩展与收缩,我们在这个架构中引入了负载均衡,传统的负载均衡都是集中在相同的location部署的,这样虽然能够最大限度的保障可用感知效率,但单一的location变成了单一故障点;对于前面我们介绍的Oracle公有云OCI来说,我们有效地将这种传统的负载均衡扩展到均匀分布于3个AD内,这种部署不仅减轻了服务能力上的限制,也将负载均衡的服务扩展到多个AD中,具体的架构请参考下图。

使用Oracle公有云实现应用容灾架构_Java_03


    同样的负载均衡架构也适用于中间件层面的部署。这样我们就在一个Region内成功地部署了同城灾备应用,不过还要说一下的就是这个应用架构的最底层的数据库集群,Oracle为您提供业界领先的Oracle RAC(Real Application Cluster)DB云服务,最大限度地保证您的业务数据安全、可靠,并能高效地提供服务,同时我们也提供性价比超高的Exadata云服务来进一步提升数据库服务的性能。

    实现了同城灾备应用部署后,我们下一步要考虑的就是如何实现异地应用灾备,我们可以按照实际情况选择另外一个Oracle公有云的Region,并在其中部署一套相同架构的应用,这样我们就拥有了两个独立的同城应用容灾系统,那么如何让这两个独立的系统有机地形成一个整体呢?这里面我们还需要引入另外一个负载均衡机制,我们称其为全球负载均衡(GLB:Global Load Balance),这种GLB是基于Oracle的DYN云服务能力来实现的,DYN云服务的实质是DNS。我们通过这种云服务能够实现基于策略的服务切换、基于地区的就近服务提供、规避风险的业务切换、割接模式切换等。

使用Oracle公有云实现应用容灾架构_Java_04


    这样我们就成功的将同城应用容灾系统扩展到了全球范围,不过这里还有一个问题需要考虑,那就是数据同步问题。基于之前介绍的Oracle公有云OCI架构中Region之间的Oracle Backbone,借助Oracle Golden Gate(Oracle Golden Gate Cloud Service)技术在两个Region之间实现数据同步。这样我们就真正的实现了两地N中心的应用容灾架构。相关架构请参考下图。

使用Oracle公有云实现应用容灾架构_Java_05

    最后,请大家关注Oracle云计算,欢迎大家参与讨论云计算与容灾架构。


编辑:殷海英