对于数据库异地双活容灾部署在前面博客上也有文章谈到过,这篇文章做一些进一步的分析,对于异地双活容灾推荐阅读下网上的一篇文章,这篇文章介绍的比较全面,可以重点参考,本文配图也来源于该文。

数据库的双活设计

对于异地双活,前面我很多文章都已经谈到过,实际上最难的就是数据库如何保证双活,大部分的异地容灾方案数据库本身都是单活的,一个做为备份库。根据这篇文章我们可以看到,实际上在数据库层面分为三个层面。

1. 数据库单活:一个做为备份库,平时不工作,在出现问题再动态切换

2. 数据库写单活,读双活:只有主库可以写,但是两个数据中心的数据库都可以作为读库同时工作

3. 数据库双活:即表格里面谈到的Oracle ASM Extended

RAC方案,这个原来没怎么接触过

对于应用服务器的Cluster集群,实际要做到双活就比较简单,由于不存在数据持久化的问题,因此只需要搭配上层的全局负载均衡往往就容易实现上层应用服务器集群的双活配置。

而对于ESB服务总线中间件来说,和传统的业务系统本身有两点关键的区别,具体说明为

1. App Server应用服务器层,存在JMS消息中间件,这个存在在临时和持久化存储问题

2.

对于数据库层面,一个是ESB引擎数据库本身对ESB运行无大影响,一个ESB管控数据库仅存储日志信息

在原来我们谈SOA整体部署架构的时候,为了保证整个ESB总线的运行稳定性,实际上我们做了相应的验证,即对于ESB引擎数据库停机,实际上不影响到App

Server和ESB服务正常运行;或者对管控数据库停机,也不影响到服务正常运行,只是会出现日志数据出现丢失。

其次,对于ESB总线而言本身数据库压力不大,完全没有必要在数据库层面采用读写双活的设计方式,而对于管控平台而言,实际上使用最多的就是日志查询,异常查询几个功能,这几个功能可以单独定制为支撑读双活往往就能够满足需求。在数据库层面,最初我们的方案仍是采用类似GoldenGate进行单向的数据同步,确保在另外一个数据中心有一个完整的备库,以用于在数据中心出现问题后的数据库迁移。

那么接下来我们再看,如果不采用类似GG的数据库同步复制产品和技术,我们如何来做异地双活设计。初步考虑有如下几种方案可以选择。

方案1:在两个数据中心进行重复操作

即对于ESB服务的部署,服务授权,服务配置等操作,同时在两个数据中心操作,确保实际的服务部署,服务配置元数据能够同时入库到两个数据中心不同的数据库。即实际上两个数据中心最终提供的ESB服务完全是一致的和相同的,服务部署情况,服务授权情况也是完全相同的。

在这种方案里面涉及到我们流程申请和订购功能,涉及到服务运行实例功能无法重复操作,因此这些功能对应后的后台日志表,就需要我们晚上进行定时同步到备份数据中心。由于日志,流程实例非核心内数据,是可以容忍一天内的丢失情况。

方案2:后台每天进行定时数据复制

对于ESB服务的部署,实际上我们很难去做定时的数据复制来解决问题,因此服务部署仍然需要手工操作。而对于其他所有的管控配置操作等全部通过每天定时后台数据库表复制即可。该方案不使用类似GG进行实时同步复制,允许数据出现1天内丢失,但是不影响到实际的服务运行。

应用服务器集群的双活

当我们谈双活数据中心的时候,前面更多谈的数据库的部署和同步方案,既然是双活,那么APP

Server应用服务器就必须要做到能够同时工作。而对于应用服务器集群我们考虑的时候要注意,实际上在我们配置的时候,数据中心A和数据中心B两个集群都是操作数据中心A的数据库,否则就会出现数据库双向同步复制问题。

要做到应用集群双活,在前面文章方案已经谈到,必须在数据库中心A和B上面还有一个全局的负载均衡设备进行全局负载均衡,同时全局负载均衡设备本身还需要HA配置确保无单点故障。

而实际上双活架构部署的时候,对于数据中心B我们完全可以单独进行ESB中间件和管控软件的安装,同时将数据库中心A的数据库导出再导入恢复到数据中心B,确保初始一致性。在完成数据中心B本身的服务调用正常,管控访问正常后,我们在进行操作,将数据中心B的ESB服务集群,管控数据库连接配置修改为对应到数据中心A。

这个时候可以确保应用服务器全部处于工作状态,但是数据中心A出现故障后数据库连接需要手工切换。

那么这个时候更好的做法是在两个数据中心的数据库上层还有一个轻量的DaaS数据库服务提供层,即在DaaS层来提供可用的数据库服务连接,当发现数据中心A的数据库无法访问的时候,可以自动切换到数据中心B的数据库。同时DaaS层作为独立的应用也在两个数据中心进行部署,接入到上层的全局复制,确保没有单点故障。

如果没有DaaS层,那么出现故障手工切换,预计也就在5到10分钟能够完成数据中心的切换操作。

临时记录-待进一步思考

在数据中心单独安装一个ESB

Cluster集群,配置到数据中心B的ESB数据库,数据中心B的ESB库完全从A中心进行同步拷贝。然后对ESB集群的服务部署信息进行导出,导出后再数据中心B进行服务部署。完成后将数据中心B的集群数据库连接切换到数据中心A。

或者直接在数据中心B进行Cluster集群的扩展,即数据中心B不再有Admin管理节点,这种模式实际上涉及到Admin管理节点需要在两个数据中心做HA架构配置,暂时无法验证其可行性。

oracle异地双活距离,再谈异地双活容灾部署(6.24)相关推荐

  1. 多AZ双活容灾部署的云端系统架构设计说明书框架

    1.简介 1.1 范围 1.2 背景 1.3 参考文献 1.4 缩略语 2.需求分析 2.1 需求描述 2.2 需求范围 3. 设计描述 3.1 顶层设计 3.1.1 系统上下文 3.1.2 逻辑视图 ...

  2. 通俗易懂浅谈一下服务器异地容灾备份

    最近关于服务器异地容灾备份等话题热度逐渐上升,服务端的网络.机房硬件等一旦出现故障,将有可能导致大规模的服务瘫痪,商城订单下降等,进而对公司造成经济损失. 服务端灾备不仅是运维人员的工作,前后端开发人 ...

  3. 河北省地税Oracle数据库同步复制采集大集中及异地容灾应用

    河北地税征管业务选用DSG RealSync用于省中心集中容灾和数据上收功能 (2005年8月)    河北省地税税收业务系统目前采用了在各市局分散应用模式,即十一个市局分别有各自的数据中心,负责税务 ...

  4. 华为云计算IE面试笔记-请描述华为容灾解决方案全景图,并解释双活数据中心需要从哪些角度着手考虑双活设计

    容灾全景图: 按照距离划分:分为本地容灾 同城容灾 异地容灾  本地容灾包括本地高可用和本地主备.(本数据中心的两机房.机柜) 本地高可用这个方案为了保持业务的连续性,从两个层面来考虑: ①一个是从主 ...

  5. 利用阿里云实现异地容灾的解决方案

    一.异地灾备防范于未然 2001年的"911事件"中,没有远程备份的企业都遭受了巨大损失,甚至部分公司因为核心业务部署在公司大楼而又没有远程备份,导致公司业务无法继续运营而倒闭.美 ...

  6. 异地容灾系统方案设计与分析

    目 录 第 1 章 容灾技术规范 1.1 容灾的总体规划 1.1.1 技术指标 RPO.RTO 1.1.2 国际标准 SHARE 78 1.1.2.1 Tier0 1.1.2.2 Tier1 1.1. ...

  7. IBM的三种异地容灾方案

    在前一篇中我们介绍数据容灾的重要性和相关技术,从中了解到了数据容灾与我们常见的数据备份是两个不完全等同的概念.在数据容灾中最常采用,也是最有效的方案是异地容灾.这种容灾方案最有保障,因为它是把数据备份 ...

  8. HP BusinessCopy同城/异地容灾技术方案

    第一章      灾难备份背景及优势.............................................................................. 3 1 ...

  9. 河北省地税数据上收集中及异地容灾应用(RealSync数据库同步复制)

    河北地税征管业务选用DSG RealSync用于省中心集中容灾和数据上收功能 (2005年8月)    河北省地税税收业务系统目前采用了在各市局分散应用模式,即十一个市局分别有各自的数据中心,负责税务 ...

最新文章

  1. I00002 打印九九乘法表
  2. 现在计算机学什么好找工作吗,计算机专业都学什么 毕业好找工作吗
  3. Server.MapPath(path)的使用
  4. python 描述器 详解_Python描述器descriptor详解
  5. 瀑布模型 原型模型 增量模型 螺旋模型的优缺点
  6. mysql点击计数器_MySql计数器,如网站点击数,如何实现高性能高并发的计数器功能...
  7. Design pattern
  8. 笨办法学 Python · 续 练习 44:使用 Python 的数据库 API
  9. 读书笔记_量化交易如何建立自己的算法交易03
  10. Eclipse中使用GIT将文件还原至上一版本
  11. 关于在EF中通用方法
  12. 垃圾代码和优质代码的区别?
  13. python3语法学习第五天--函数(1)
  14. three.js 文本_使用Three-bmfont-text在Three.js中创建文本
  15. 学生想学信息学奥赛: DEV-C++的安装与介绍
  16. 联想android电视软件下载,#联想智能电视普及风暴#绕开“乐商店”,大叔教你一步步在智能电视上安装第三方APK...
  17. 张正友相机标定全解析
  18. 远程桌面连接不能复制粘贴怎么办 远程控制电脑无法复制粘贴的解决方法
  19. python疫情监控(爬虫+可视化)
  20. 解释源代码文件、目标代码文件和可执行文件之间的区别

热门文章

  1. 互联网时代如何快速提升宣传效果?
  2. 如何将小程序内置非promise API转换为promise对象(风袖小程序的学习)
  3. Oracle ILM相关(Information lifecycle management)
  4. 多肽TAT接枝/功能肽RGDC修饰荧光碳量子点/碳量子点修饰多肽LyP-1的制备研究
  5. 什么是非关系型数据库,Redis概述、安装及部署Redis群集
  6. python根据参数判断性别准吗_根据数据能判断男宝或女宝概率么?
  7. Excel 如何提取单元格中的多个数值
  8. 国际化进程加速,上海树图区块链研究院联合创始人伍鸣博士受邀访问香港科技园...
  9. 下载Synechococcus elongatus UTEX 2973(accession no.为GCA_000817325.1 )的基因组注释文件,统计其中染色体序列(CP006471.1)前10
  10. 进行CAD图纸文件查看时如何对其进行平移?