Oracle WebLogic数据源

本文介绍了Oracle WebLogic的GridLink数据源和多数据源的配置与使用,重点讨论了多数据源的故障转移和负载平衡算法。在设置多数据源时,需要根据应用场景选择合适的算法。同时,文章强调了定期测试数据库连接的重要性,提供了测试频率、测试预留连接等配置选项,以确保数据源的健康。此外,还讨论了连接创建重试、连接保留超时、最大等待连接数量等优化策略,以及如何配置PinnedToThread属性以提高性能。
摘要由CSDN通过智能技术生成

看完这两个文档对数据源配置应该就有一个清晰的认知了。

GridLink数据源:

https://docs.oracle.com/cd/E29542_01/web.1111/e13737/gridlink_datasources.htm#JDBCA455

多数据源:

https://docs.oracle.com/cd/E13222_01/wls/docs100/jdbc_admin/jdbc_multidatasources.html

下面是我的学习笔记:

多数据源功能:可以将多数据源视为数据源池。多数据源最适用于高可用性数据库系统的节点之间的故障转移或负载平衡,例如冗余数据库或Oracle Real Application Clusters(RAC)。

Multi数据源的数据源成员列表支持动态更新这允许环境(例如使用Oracle RAC的环境)在不重新部署的情况下添加和删除数据库节点和相应的数据源,并提供以下功能:

根据吞吐量增长和缩小RAC群集。

关闭RAC节点以进行维护。

 

选择多数据源算法:

在设置多数据源之前,需要确定多数据源的主要用途 - 故障转移或负载平衡。您可以选择符合您要求的算法。

故障转移

故障转移算法提供用于满足连接请求的有序数据源列表。通常,对这种多数据源的每个连接请求都由列表中的第一个数据源提供服务。如果数据库连接测试失败并且无法替换连接,或者数据源已挂起,则会从列表中的下一个数据源按顺序搜索连接。

注意:此算法依赖于TestConnectionsOnReserve数据源上的Test Reserved Connections()来测试第一个数据源中的连接,以查看数据源是否正常。如果连接未通过测试,则多数据源将使用多数据源中列出的下一个数据源的连接。有关配置的信息,请参阅数据源的连接测试选项TestConnectionsOnReserve。

注意:JDBC是一种高度有状态的客户端-DBMS协议,其中DBMS连接和事务状态直接绑定到DBMS进程和客户端(驱动程序)之间的套接字。因此,不支持在使​​用连接时进行故障转移。

负载均衡

对负载平衡多数据源的连接请求由列表中的任何数据源提供。多数据源使用循环方案选择用于满足连接请求的数据源。当多数据源提供连接时,它会从刚才用于提供连接的最后一个数据源之后列出的数据源中选择一个连接。如果数据库连接测试失败并且无法替换连接,或者数据源已挂起,则使用负载平衡算法的多数据源也会故障转移到列表中的下一个数据源。

 

在Reserve上测试连接以启用故障转移

数据源依赖于数据源上的Test Reserved Connections(TestConnectionsOnReserve)功能来了解数据库连接何时丢失。必须为多数据源中的数据源启用(默认)测试保留连接。WebLogic Server将在将每个连接提供给应用程序之前对其进行测试。使用故障转移算法,多数据源使用连接测试的结果来确定何时故障转移到多数据源中的下一个数据源。测试失败后,数据源会尝试重新创建连接。如果该尝试失败,则多数据源将故障转移到下一个数据源。

 

在多数据源中恢复失败数据源时自动重新启用

由于连接测试连接失败而自动禁用数据源后,多数据源会定期测试来自已禁用数据源的连接,以确定数据源(或基础数据库)何时可再次使用。当数据源可用时,多数据源会自动重新启用数据源并恢复将连接请求路由到数据源,具体取决于多数据源算法以及所包含数据源列表中数据源的位置。这些测试的频率由多​​数据源的“测试频率秒”属性控制。“测试频率”的默认值为120秒,因此,如果未专门为该选项设置值,则多数据源将每120秒测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

yangkei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值