Weblogic多数据源(Multi Data Sources)应用实践
大型系统在进行数据库部署时,常常会分为主数据应用中心和应急数据中心。通常情况下应用系统访问的是主数据中心,只有主数据中心出现故障的时候才会切换至应急数据中心,主数据中心与应急数据中心数据保持增量备份。如下图。

传统应急流程是当主数据库出现故障时,手工修改应用服务的设置,将应用切换至应急数据库进行访问,以确保能够正常提供应用。这种做法存在较大的弊端,需要人工干预,并且需要重启应用,费时较长,对客户端有较明显的感知。
为了解决该问题,WebLogic10.3新增了一个多数据源配置功能(Multi Data Sources)配置的功能;通过该功能,可以灵活地解决人工干预切换应急数据库的问题,并且对客户端无任何影响,平滑从主数据库切换至备份数据库,客户无感知,就像从没发生过一样。主数据中心恢复后,系统会自动回切。
WebLogic的Multi Data Sources有两种模式:FailOver(灾备模式)与Load-Balancing(负载均衡模式)下文将详细介绍基于WebLogic的Multi Data Sources的两种模式的配置。
第一步,services—>JDBC—>Data Sources建立两个数据源分别指向主数据库和备份数据库。

第二步,services—>JDBC—>Multi Data Sources 建立多数据源:

第三,点击“NEXT”,选中servers,如果是集群请选中集群的servers:

最后,继续点击“NEXT”,选择之前建立的数据源即可;

应用服务器连接数据库,只需使用JDBC/TEST即可完成对数据库的访问;通常情况下数据库访问都会集中在test这个数据源,当test数据源连接的数据库出现故障时,weblogic服务器会自动将数据库访问切换至test_callout数据源,无缝完成灾备,应用使用者不会对数据库切换有任何感觉,当主数据库恢复时,weblogic会自动切回。
扩展Load-Balancing(负载均衡模式),可以实现对多个RAC数据库实例进行管理,实现数据库云,采取这种模式时,应用系统会交替访问该Multi Data Sources所关联的数据源,做到负载均衡,当RAC中某一个端点出现问题时,weblogic服务器会检测到该问题数据源直至该节点恢复,在应用使用者使用应用系统的过程中不会对某一个数据库节点的故障产生任何感觉。
两种模式的差别,:FailOver(灾备模式)中,只有排序在第一位的数据源是活动的,当主数据源故障时才会切换至备份数据源(第二个),备份数据源在常态下是空闲的;Load-Balancing(负载均衡模式)中所有关联的数据源都参与应用的访问,任何一个节点故障,weblogic会放弃该节点直至该节点恢复并重新加入负载均衡队列。
总结,在应用开发部署中,WebLogic的Multi Data Sources对数据库的灾备和负载均衡提供了完美的支持,支持在多数据库实例的情况下做到无缝的切换和回切。
Weblogic多数据源(Multi Data Sources)应用实践的更多相关文章
- Windows系统自带的ODBC Data Sources的配置及使用
一直不明白ODBC是个什么东东,虽然一次次碰到,却从没用过,看Wikipedia上的描述,可以访问各种数据库.Excel.CSV等,可以剥离数据库和操作系统依赖,简直神乎其神.不过这样的描述太抽象概括 ...
- Spark SQL 之 Data Sources
#Spark SQL 之 Data Sources 转载请注明出处:http://www.cnblogs.com/BYRans/ 数据源(Data Source) Spark SQL的DataFram ...
- Spark SQL External Data Sources JDBC简易实现
在spark1.2版本中最令我期待的功能是External Data Sources,通过该API可以直接将External Data Sources注册成一个临时表,该表可以和已经存在的表等通过sq ...
- JasperReports教程:Report Data Sources
原文地址:http://www.tutorialspoint.com/jasper_reports/jasper_report_data_sources.htm Datasources是一个结构化的数 ...
- datatbales的数据源类型(Data source types)
数据是复杂的,并且所有的数据是不一样的.因此 DataTables 中有很多的选项可用于配置如何获得表中的数据显示,以及如何处理这些复杂的数据. 本节将讨论 DataTables 处理数据的三个核心概 ...
- Spark SQL External Data Sources JDBC官方实现写测试
通过Spark SQL External Data Sources JDBC实现将RDD的数据写入到MySQL数据库中. jdbc.scala重要API介绍: /** * Save this RDD ...
- 解决IDEA Springboot项目sql文件打开提示No data sources are configured to run this SQL and provide advanced的问题
Idea2018的Springboot项目,如果里面有.sql文件,打开后,会提示"No data sources are configured to run this SQL and pr ...
- 警告: No data sources are configured to run this SQL and provide advanced code assistance. Disable this inspection via problem menu (Alt+Enter). more... (Ctrl+F1) SQL dialect is not configured. Postgr
python3出现问题: 警告: No data sources are configured to run this SQL and provide advanced code assistance ...
- 数据源(Data Source
数据源(Data Source)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体.在数据源中存储了所有建立数据库连接的信息.就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数 ...
随机推荐
- IOS开发学习笔记041-UITableView总结1
一.UITableView的常用属性 1.分割线 // 分割线 self.tableView.separatorColor = [UIColorredColor]; // 隐藏分割线 self.tab ...
- Windows网络编程笔记2
这一次看看重定向器和如何使用Netbios函数获取本机mac地址 5.获取Mac地址 利用NCBASTAT命令实现,适配器状态命令会返回一个 ADAPTER_STATUS结构,紧接着是大量 NAME_ ...
- 转:vc与界面开发之间的文章
[很好的一篇文章,很喜欢看同行的心路历程:http://www.vckbase.com/index.php/nv/444.html] 本屌丝在新春放假期间闲来无事,在各大编程论坛溜达了一圈.发现年前的 ...
- Eclipse启动错误:A Java Runtime Environment(JRE) or Java Development Kit(JDK) must be available……
确保Jdk,Jre都安装完成并且环境变量配置无误的情况下,自动Ecplise报错如下: A Java Runtime Environment (JRE) or Java Development Kit ...
- jeakins配置邮件通知,附带解决535报错:authentication failed,如果发现测试邮件可以发出,项目构成无法发出邮件,请开启SSL认证,端口号改为(465),qq邮箱、163邮箱通用
535报错解决方案:调用163邮箱服务器来发送邮件,我们需要开启POP3/SMTP服务,这时163邮件会让我们设置客户端授权码,这个授权码替代上面代码部分的passwd即可成功发送邮件 如果设置的邮箱 ...
- Python学习-day16-DOM
文档对象模型(Document Object Model,DOM)是一种用于HTML和XML文档的编程接口.它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式.我们最为关心的是,DOM把 ...
- redis命令monitor详解
通过monitor这个命令可以查看数据库在当前做了什么操作,对于管理redis数据库有这很大的帮助 如图示,在redis客户端进行操作显示info,另一个窗口打开monitor就会显示出这个命令的操作 ...
- 查找jar包中.class文件关键字(变量名,字符串)
有时查看日志,常常会发现由框架底层打印的错误日志.要修改这个错误的时候,如果不是对框架特别熟悉,就需要按照可能产生这个错误日志的流程一步一步找,一时半会不一定能找到.比如本人最近对smartfoxse ...
- MySql数据库 - 2.启动与关闭
MySql服务的启动: 右键计算机 - 管理 - 服务和应用程序 - 服务 - 右键 MySQL80 可以启动/停止MySQL(也可以点击属性 改变启动类型:手动/自动). 自动启动状态下,每次打开计 ...
- js获取触发事件的元素
//获取事件 var e = window.event; //获取元素 obj = e.target || e.srcElement; console.log(e); checkRepeat(e.ta ...