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)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体.在数据源中存储了所有建立数据库连接的信息.就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数 ...
随机推荐
- 输出1到最大的N位数 【微软面试100题 第六十五题】
题目要求: 输入数字n,按顺序输出从1到最大的n位10进制数. 例如,输入3,则输出1.2.3....999(最大的3位数). 参考资料:剑指offer第12题. 题目分析: 如果我们在数字前面补0的 ...
- 数据库脚本开发日志模板 —— 项目需求 A
前言: 在经历的几家公司的多个项目开发管理中,用 git 或者 svn来管理项目代码,都着重项目代码的管理,却疏于相应脚本的管理.本文可以参考,作为项目需求对应脚本开发记录文件(也建议用单个文件夹下放 ...
- 微信小程序-----校园头条详细开发之注册登录
1.注册登录功能的实现 1.1结构 1.2 代码实现 1.2.1 为了通信的安全着想,在此我是通过小程序端获得code,然后传递给后端,在后端向微信后台发送api请求,解密,从而得到用户的唯一标示o ...
- HLG1125 循环小数2
循环小数 II Time Limit: 1000 MS Memory Limit: 65536 K Total Submit: 155(55 users) Total Accepted: 92(51 ...
- GitLab-CI环境搭建与操作手册
第一章 系统安装简介 1.1. 系统结构 GitLab-CI持续集成服务主要包括gitlab.runner 2个模块.Gitlab主要负责代码文件的管理:runner则负责版本编译.存储.推送等任务. ...
- vue - computed
computed 的作用主要是对原数据进行改造输出.改造输出:包括格式的编辑,大小写转换,顺序重排,添加符号……. 一.格式化输出结果: 我们先来做个读出价格的例子:我们读书的原始数据是price:1 ...
- hihoCoder #1809 : 本题数据范围五千
Analysis (一) 猜想:答案跟 $q_1, q_2, q_3$ 无关:考虑排列 $q$ 是 $1, 2, 3$ 的情况,此时符合要求的排列 $p$ 实际上满足: 对于任意 $i < j ...
- HDU 5875 Function(RMQ-ST+二分)
Function Time Limit: 7000/3500 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) Total ...
- 转载:LeetCode:5Longest Palindromic Substring 最长回文子串
本文转自:http://www.cnblogs.com/TenosDoIt/p/3675788.html 题目链接 Given a string S, find the longest palindr ...
- O(1)gcd学习笔记
设最大权值为\(M\) \(T=\sqrt M\) 定理 任意一个\(\le M\)的数一定可以表示为abc三个数的乘积 满足这三个数要么\(\le T\),要么是一个质数 证明: 考虑反证 假设\( ...