OFM自身的组件需要持久化保存数据,部署应用也需要持久化保存数据。因此,考虑数据库高可用是一个恒久不变的架构设计元素。OFM对于数据库高可用的设计有很多方案,例如Cold Failover Clusters、 Oracle Real Application Clusters、 Oracle Data Guard、 Oracle Streams机制,详细参考http://docs.oracle.com/cd/E11882_01/server.112/e17157/toc.htm。本文对Oracle Real Application Clusters的高可用特性进行学习介绍。更多信息参考http://docs.oracle.com/cd/E11882_01/rac.112/e16795/toc.htm。
Oracle Real Application Clusters(Oracle RAC)是一个利用多个互连的计算单元的处理能力。RAC协调这些计算单元的聚集(硬件服务器、软件集群)成为一个更为强大的计算环境,使得Oracle RAC可以为OFM系统组件、系统服务或应用程序提供一个高度可扩展和高度可用的数据库存储服务。在这些计算单元的一个节点如果发生故障,虽然会对整体性能产生一定影响,但不会对整个服务产生可用性影响,剩下的节点仍然可用,仍然可以向外提供服务。
为Oracle数据库配置启用RAC主要有两种方式: Multi Data Sources和GridLink Data Sources。
Multi Data Sources提供了两种方式的高可用性:FailOver(故障转移)与Load Balancing(负载均衡),两种方式分别对应前面学习的Active-Passive 方案和Active-Active方案。FailOver保持一个主要实例激活提供服务,备份实例实时监听其状态,当发现激活主数据不再可用时,及时进行接管;而Load Balancing则是多实例同时运行,共同承担工作负荷,但一个节点出现故障时,将自动退出负载队列直到故障修复,实现数据库云服务的架构。
GridLink Data Sources同样提供了上述两种方式保证高可用特性,但是却给出了更多优化方面的惊喜。对于FailOver,如果使用Multi Data Sources方式,那么当应用向一个Data Source申请获取Connection时,WebLogic需要测试这个Connection是否可用,如果可用顺利返回;否则,首先将该Data Source标识dead,再从下一个Data Source获取Connection,然后每隔一定固定时间(缺省120秒)检查该Data Source是否正常,正常可以获取Connection后,再重启该Data Source。对于GridLink Data Sources,其机制使用Oracle Notification Service(ONS)与后台RAC数据库实例群进行通信,这大大提高了Connection可用性检测的效率,当ONS发现有不可用的数据库实例时,马上将其从RAC数据库实例群中移除;当发现有不可用的Connectio时,马上将其从Data Source中移除;随需可用的扩展机制,无需修改任何配置即可实现高扩展,包括新增节点和移除节点;而这些特性都要归功于GridLink Data Sources的Fast Connection Failover特点。
对于Load Balancing在Multi Data Sources方式下,只是根据请求数量实现了简单的Round-Robin的平均轮询调度方式,均匀分配请求处理数,但却无法均匀分配各节点的工作负载;而在GridLink Data Sources的配置方式下,进行了相当智能的优化改进工作,其方式叫做Runtime Connection Load Balancing(RCLB)。RCLB可以实时运行期间,根据RAC数据库实例群各节点的工作负载情况进行动态调度,比如通过侦听其CPU、内存、可用性、响应时间等情况再决定路由的目标节点,一个耗费资源严重的执行请求可能分配给一个节点,而很多耗费资源微小的执行请求可能分配给另外一个节点,根据节点的工作负载情况分配,而不是根据请求数量的分配。如图所示:
GridLink Data Sources除了优化了Multi Data Sources所拥有的FailOver和Load Balancing特性外,还在Graceful Handling for Oracle RAC Outages与 GridLink Affinity有良好表现。
Graceful Handling for Oracle RAC Outages是指如何以优雅的方式处理计划内的停机维护升级与计划外宕机故障。
计划内的停机维护升级处理方案:数据源Data Source将允许还在执行中的事务结束后再关闭数据库连接Connection,对于后续的请求将路由转发至仍然处于激活服务的数据库中,保障单个节点虽然停机,但整体数据库服务不停机的可用状态;
计划外宕机故障处理方案:数据源Data Source将对还在执行中的事务进行完美回滚后再关闭数据库连接Connection,对于后续的请求将路由转发至仍然处于激活服务的数据库中,同样保障单个节点虽然停机,但整体数据库服务不停机的可用状态;
GridLink Affinity被设计用于最大化提高RAC的集群能力。当第一个请求到达RCLB时,在路由转发到一个RAC实例前,它将会得到一个Affinity上下文标识,后续该请求的连接请求将会路由到相同的RAC实例,直到该会话结束或事务结束,从而提高缓存的可能、减少数据一致性同步的开销等特点。GridLink Affinity主要有两种策略:
Session Affinity Policy当Web应用程序的用户在进行在线交易处理(OLTP)的处理时,对于相同的记录或反复操作若交由同一个RAC实例处理,将会得到很好的处理表现。如在线购物车或银行事务处理的应用场景。其原理如图所示:
XA Affinity Policy XA Affinity 可以确保在全局事务控制中,将所有的数据基本操作都分发到一个相同的Oracle RAC集群实例中进行处理。其原理如图所示:
总结:通过以上学习和介绍,相信在关于Oracle Real Application Clusters的选择方案上,启用GridLink Data Sources绝对是一个不错的决定。更多资料参考
http://docs.oracle.com/cd/E21764_01/web.1111/e13737/gridlink_datasources.htm
相关推荐
- 包含ActiveGridLink for RAC,这是与Oracle Real Application Clusters (RAC)的高度集成解决方案,能为企业提供全面的高可靠性方案。 - 包括Oracle Exalogic弹性云,支持客户部署现代云基础架构。 2. Oracle ...
6. **WebLogic套件的优势**:Oracle WebLogic Server以其出色的性能和稳定性、最低的运营成本、易升级性以及GridLink for RAC技术领先市场。它还提供了企业网格消息处理和ActiveCache等功能,以增强速度和灵活性。 ...
其特性包括GridLink for RAC、企业网格消息处理、ActiveCache等,这些都显著提升了效率和灵活性。WebLogic还支持面向服务的架构(SOA),并具备强大的集成能力和自我诊断框架,以确保关键业务的不停顿服务。 此外,...
5. **GridLink for RAC**: 专为Oracle Real Application Clusters (RAC)设计的解决方案,可以实现高可用性和负载均衡。 6. **JRockit RealTime Java VM**: 提供实时Java虚拟机,适合需要确定性响应时间的应用场景。...
- **应用基础架构**:包括GridLink for RAC、Toplink & EclipseLink、Coherence等,它们提供了强大的事务处理能力和内存数据网格支持,满足了高性能和高并发的需求。 - **Java虚拟机**:JRockit Real Time 提供了...
- **GridLink for RAC**:提供高性能、高可靠性和高可扩展性的支持,适用于大规模企业网格环境。 #### 五、WebLogic Server 基本概念及安装 - **安装**:WebLogic Server 支持轻量级安装,通过组件化机制优化安装...
配置时需指定目标数据库集群、RAC侦听器和JDBC驱动等。 2. Web 应用的部署 Web应用部署是WebLogic Server的核心功能,包括以下步骤: 1.2.1 应用部署配置 首先,你需要打包应用为WAR或EAR文件,然后在WebLogic管理...
此外,它还提供了GridLink for RAC、企业网格消息处理、ActiveCache等功能,进一步提升了其在云计算环境下的表现。 #### JRockit JRockit是一款高性能的Java虚拟机(JVM),特别适用于企业级应用。它支持实时监控和...
weblogic11g 安装配置,5、1 创建集群的过程 16 5、2 被管理server加入sleblis集群 18 5、3 启动weblogic server被管理...5、8 F5 测试集群的高可用性和故障转移 28 6、修改weblogic核心参数 30 6、1 JDBC参数修改 30
1.3、Gridlink 数据源的配置 31 2、Web应用部署 36 四、Weblogic 12c日志 39 1、日志文件概要 39 2、设置日志文件 40 2.1、服务器日志文件 40 2.1、DOMAIN日志文件 40 3、日志默认规则 41 3.1、服务器日志 41 ...
WebLogic 11G 集群配置详解 本篇文章将详细介绍 WebLogic 11G 集群配置的步骤,包括创建双机数据源、创建管理 Server、创建被管理 Server、配置安全信息、编写启动和停止脚本等。 一、创建双机数据源 在 WebLogic...