加载中…
正文 字体大小:

SOA管控平台-多中心(4.11)

(2019-04-11 09:33:44)
标签:

soa

esb

数据中心

双活

分类: IT咨询
SOA管控平台-多中心(4.11)

数据中心双活同时提供能力

异地容灾一直是在构建IT基础设施架构的时候需要考虑的一个内容点,那么如果有两个数据中心,如何做到两个数据中心同时提供能力,即双活状态,而不仅仅是类似HA的主备架构?

在两个数据中心的双活架构下,即两边的数据中心的数据库和应用服务器集群能够同时提供计算和数据存储能力,而当一个数据中心出现问题的时候所有访问请求自动路由到正常的数据中心。在出问题的数据中心恢复后又能够平均分配请求负载。

双活数据中心的构建难点之一是全局负载均衡,要做到完全的双活提供能力,全局负载均衡设备也需要在两个数据中心进行HA架构配置,确保某一个数据中心全部宕机后能够自动转移。如果无法做到负载均衡的双数据中心HA架构配置,那么可以考虑负载均衡提供一个统一的DNS域名,如果数据中心出现问题后,可以手工将DNS域名配置到新的数据中心对应内部负载均衡提供的IP地址上。

构建难点二是数据库,数据库属于持久化存储,那么就存在两个数据库的数据同步复制问题。

如果是完全的双活数据中心,那么两边的数据库就需要能够双向同步复制。在双向同步复制操作下,往往会存在数据库同步复制冲突问题。那么最好的方式还是对于数据库不启用双活,而启用主备模式,即日常只有一个数据库提供能力,启用GoldenGate等工具来配置数据库表的单向实时数据库同步复制。

比如数据中心A->数据中心B

在数据库中心A出现问题完全宕机后,则管控系统自动连接到数据中心B,在数据中心B对应的数据库进行CRUD操作,当A恢复后再启动B->A的单向同步复制操作。

数据库在单向同步复制下可以减少双向复制带来的冲突问题。当然我们也可以在数据库上构建一个类似DaaS的平台层。在DaaS平台层我们可以对管控平台中查询类功能进行双向路由,即查询操作可以均衡路由到两个数据中心同时提供能力。这个需要在管控平台中的数据层进行额外的处理和定制。

Oracle OSB集群本身的数据库复制

对于OSB集群,实际上在前面我们已经验证过,即OSB集群对应的数据库即使宕机本身也不会影响到已经部署的OSB服务的正常运行和服务消费。

另外对应两个数据中心的Weblogic集群,建议采用独立的两个Admin进行管理,即集群仍然是有两个独立的Admin管理中心,但是两个集群中的所有OSB节点是全部接入到负载均衡设备的。这种模式可以方便在数据库中心A出现完全宕机后,我们也可以通过数据中心B的Admin进行集群的管理操作。

当配置两个独立的Admin集群节点的时候,对于通过管控平台进行的服务自动部署操作,那么就需要同时调用两个数据中心的Admin集群管理节点提供的JMX接口进行服务自动化部署。

那么在这种情况下实际上很难实现两个OSB数据库的单向同步复制。最好的解决方式是在某个数据中心宕机的情况下,暂停服务的部署和变更等操作,等数据中心恢复后再进行。如果确实需要进行操作,则对于出问题的数据中心,在恢复后,通过人工重新部署的方式对服务重新进行新增和变更部署。

对于Weblogic JMS集群的持久化存储问题

如果采用了JMS消息中间件,那么就还涉及到JMS集群中的消息持久化文件的同步复制问题。这个是很难做到双向操作的。因此建议是对于JMS消息中间件集群的消息持久化,可以先不考虑文件同步复制,容忍部分的消息丢失。实际上这部分消息本身也不会丢失,在数据中心恢复后仍然可以进行消息重试发送。

服务访问路由定向问题

在双数据中心模式下,能否对于特定服务优先路由到我们指定的数据中心,只有在指定的数据中心宕机的时候再选择路由到备用数据中心上面。

即在全局负载均衡上面实际上有一个路由选择路径列表,即优先路由地址,次选路由地址。当优选路由地址出现问题的时候才选择次选路由地址并进行路由操作。这样我们可以对OSB集群上部署的服务更加灵活的分配两个数据中心的资源提供。

0

阅读 收藏 转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有