`
lsy
  • 浏览: 123249 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

WebLogic Server 高可用特性

阅读更多

什么是WebLogic服务器集群

WebLogic Server集群包括多个WebLogic Server服务器实例同时运行并一起工作提供强大的可伸缩性和可靠性。 构成集群的服务器实例可以运行在同一系统上,或位于不同的系统上。 可以通过添加额外的逻辑服务实例,或物理服务器实现现有系统的集群能力的扩展。但集群中的每个服务器实例必须运行同一版本的WebLogic Server

什么是WebLogic服务器域

集群是WebLogic服务器域的一个组成部分。WebLogic服务器域是WebLogic的管理组织单元,它将很多WebLogic的服务实例组织起来形成一个逻辑单元。这些服务实例可以是集群协作的,也可以不是。一个域可以包含多个集群,在每一个服务器域中,有一个特殊的服务实例扮演Administration Server的角色,这个特殊的Administration Server维护了其他所有服务实例的资源、配置、管理和监控等信息,一个Administration Server只能管理一个服务器域。因此,如果一个服务器域拥有多个集群,那么这些集群拥有相同的一个Administration Server

服务器集群的关键特点

1)         应用故障失效转移

故障转移意味着,当一个应用程序组件做某项工作的时候,因为一些原因出现故障导致该组件不可用时,失败对象的副本转移到其他组件完成这项工作。

为了完成失效转移,必须有如下机制保证新对象可以继续完成已失败的任务:

ü  已失败任务中的对象数据和状态能够拷贝至新对象;

ü  能够提供发生故障是失效对象的位置和运行信息,以便可以诊断发生故障时的执行计划;

ü  能够提供发生故障是执行任务进程的进展情况,以便可以诊断发生故障时失效对象已经成功完成的任务信息和执行程度。例如多少数据状态发生变化,整个过程完成了多少步骤等。

2)         服务迁移

WebLogic的服务实例支持自动或手动的方式将集群环境下的一个服务实例迁移到另外一个环境。这项技术在下述高可用性的需求应用场景中非常有用:

ü  可以确保一个单实例服务的不中断的情况下可靠运行,阻止单点故障发生的破坏性。比如JMSJTA服务故障恢复,当这些单实例服务服务发生故障时,运行这些服务的 Managed Server可以自动迁移至一个可用的Managed Server

ü  作为计划内的迁移方案,例如主机维护升级切换等。此项任务可以通过WebLogic管理控制台或命令行的方式操作服务实例间迁移,保障服务不间断的随时可用。

3)         负载均衡

负载均衡可以通过计算和网络资源的通信,使得分布式环境的任务协同工作。作为负载均衡的对象需要具备如下特性:

ü  一个对象拥有多份拷贝,可以协同完成相同的特定工作;

ü  所有对象的状态和运行信息可以共享使用;

可以作为服务器集群管理的对象类型

一个应用程序或者组件可以在一个集群环境下的多个服务器实例中运行,享有负载均衡、失效转移等集群高可用性冗余保护方案。Web应用由多种类型的对象组成,例如EJBServletJSP等,每类对象都拥有自己特殊的配置要求、调用方式、运行行为和功能维护等管理方式。因此,针对不同类型的对象,WebLogic集群技术也有不同的技术方案,可以支持集群技术的对象类型如下:

ServletJSPEJBRMI ObjectsJMS Objects。其中有些对象之间拥有相同的特点行为,因此他们拥有相同的集群管理方案,如以下两组:ServletJSPEJBRMI Objects

集群环境下的服务器间通信

集群环境下的服务器间通信方式主要基于如下两种网络技术:

ü  IP Socket,这是群集服务器实例之间的点对点的通信管道。

ü  IP 单播或组播,服务器实例使用的广播服务和心跳通信,表明持续可用性。 当创建一个新的集群,Oracle建议使用集群内的单播消息。 对于与WebLogic Server的早期版本的向后兼容版本,必须使用组播集群之间的通信。

群集范围内的JNDI命名服务

WebLogic Server群集范围外的客户端通过使用标准的JNDI命名服务访问服务器实例。 WebLogic Server实例提供了一个服务器名字绑定到JNDI树,并表示为服务。  JNDI命名服务组成一个与服务器实例绑定的服务器名称树列表。客户端通过JNDI服务获得该树,并根据树上该服务器名称的绑定关系获得服务器实例。

集群中的每个WebLogic Server实例的创建和维护一个JNDI树,大多数情况下这个JNDI看上去像是一个单独的WebLogic Server实例树,然而有时候这个JNDI树也可以存储来自集群内其他服务器实例提供的集群对象的服务,例如EJBRMI对象。 

群集范围的每个WebLogic Server实例都在本地维护了一份集群JNDI树的拷贝,一旦实例重启(或者新的服务部署到正在运行的实例时),WebLogic Server实例首先将这些服务对象绑定到本地的JNDI树拷贝中,并将这些服务对象的存根发送到集群环境中其他的WebLogic Server实例感知。其他的WebLogic Server实例成员将通过组播或者单播地址检查该实例提供的这些服务对象是否可用。

群集范围内的故障检测和会话复制

1)     故障检测

为群集提供高可用性,它必须是能够从失败服务中恢复。 集群中的WebLogic Server实例通过监测,观察他们的同行服务器实例是否发生故障:

ü  Socket实时点对点及时通信

WebLogic Server实例监控使用IP套接字网络连接的方法,实时检测对等服务器实例是否发生故障。 如果一个服务器实例通过Socket连接另外一个服务器实例进行数据通信时,由于网络中断或不可用故障发生时,那么将与这个不可用服务器实例相关的所有服务对象将从JNDI命名树中删除。

ü  定期的服务器心跳检测

如果集群环境下的服务器实例不开发实时的点对点及时通信,出现故障的服务器实例仍然能够被WebLogic Server通过心跳检测发现,并 组播或单播到集群中的其他成员分发这个心跳消息。

每个心跳消息包含数据的唯一标识该服务器实例消息。 服务器自身在10秒一个周期定时播出他们自己的心跳消息。 同时,每个服务器也在这个周期进行监控,以确保所有同行服务器的心跳消息正在发送组播或单播其心跳消息。一个服务器如果三次以上心跳检测失败(或30秒内未发出心跳消息),该服务器实例将被认为出现故障不可用,此时将与这个不可用服务器实例相关的所有服务对象将从JNDI命名树中删除。

2)     会话复制

在标准Java EE的应用程序规范体系中,对于用户会话Session的保存方法有两个标准实现:Stateful Session EJB 或者 HTTP Session 如果你同时拥有Java EE应用程序中的Web组件和EJB组件,那么你应该将用户会话Session信息存储于HTTP Session中,原因如下:

ü  HTTP Session管理为故障转移提供了更多的选择,如Session复制,数据库持久管理或文件存储;

ü  极好的可扩展性;

ü  复制HTTP Session状态往往发生在事务外,而Stateful Session EJB往往发生在事务内,因此Stateful Session EJB需要考虑更多的关联元素;

ü  两种复制方式,HTTP Session相对Stateful Session EJB有更多优化的空间和广泛的应用案例

服务迁移

WebLogic Server集群,大多数服务组件均匀部署在集群中的所有服务器实例,使得发生故障时可以透明的从一台服务器的转移到另一个。 而一些固定服务,如JMSJTA事务,WebLogic Server支持故障恢复 ,而不是进行故障转移。

根据迁移的不同级别,OFM拥有不同的策略。对于整个的服务器迁移级别,发生故障的WebLogic Server服务器的所有集群实例或组件可以迁移到另外不同的物理机器上;对于服务迁移级别,服务或组件可以迁移到集群环境中的另外一个node节点实例;对于JMSJTA事务这样特殊的服务组件,OFM提供了自动和手动两种方式迁移。当故障发生时,OFM会首先尝试在部署这些特殊服务的设备上重启服务,若重启服务失败,这些服务将会转移到另外的设备节点实例运行。另外,也允许手动初始化这些服务。更多资料请参考http://docs.oracle.com/cd/E11035_01/wls100/cluster/migration.html

Administration Server  Node Manager 的高可用

当一个服务器域下的Administration Server不再可用发生故障时,这个Administration Server所管理的集群下的Managed Server或者非集群下的Managed Server仍然可以运行。并且,即便在Administration Server已经完全挂掉的情况下,配置在服务器域集群下的服务器实例仍然支持负载均衡和故障转移的高可用特性。

如果一个Node Manager不可用,或者将它重启、停机等操作,那么Node Manager会诊断它所控制的的服务器实例,Node Manager可以在任何情况下重启所需要的服务器实例。因此,强烈建议装机时将Node Manager作为一个操作系统服务,以便机器重启时,Node Manager可以自动重启。

GridLink数据源

GridLink数据源提供了针对Oracle RAC数据库与WebLogic Server之间的连接功能。如图所示:


GridLink
很大程度上借助了数据库的功能,它利用数据库RAC端的ONS服务采集RAC结点的运行数据,并这些数据传给Gridlink Data SourceONS监听客户端,使得WebLogic Server获得了更多高效的高可用性特性,如:快速获取失效连接、运行时负载均衡、优化计划内与计划外的数据库停机事件处理等,详细资料请参考

http://docs.oracle.com/cd/E23943_01/web.1111/e13737/gridlink_datasources.htm#JDBCA373

关于单例服务

有一些特殊服务职能运行于一个单独的服务器实例中,例如JMSJTA,如果是服务本身逻辑不可用,那么将会启动故障恢复系统进行处理,若故障恢复系统依旧不能恢复,则会进行服务迁移。但如果是这些服务的宿主服务器本身实例不可用发生故障,那么会从集群中另外配置一个Managed Server进行自动迁移,并启动这些单例服务。

 

OFM组件中WebLogic Server的主要高可用性(HA)设计详细文档参考 http://docs.oracle.com/cd/E23943_01/web.1111/e13709/toc.htm

分享到:
评论

相关推荐

    Weblogic Server Tools for eclipse 3.5

    它支持多种Java EE规范,包括Servlet、JSP、EJB、JMS、JTA等,提供高可用性、可扩展性和安全性。 二、Eclipse集成 Eclipse是一个流行的开源IDE,广泛用于Java开发。WebLogic Server Tools for Eclipse 3.5将...

    Oracle WebLogic Server

    Oracle WebLogic Server是一款由甲骨文公司开发的企业级Java应用服务器,它在企业信息系统中扮演着重要的角色,特别是在分布式、高可用性和可扩展性要求较高的环境中。本篇将深入探讨Oracle WebLogic Server的关键...

    oracle weblogic server 11g:administration essentials

    5. **高可用性**:掌握如何构建和管理高可用的WebLogic环境。 通过"weblogicp培训考试必备资料",你将能够系统地学习和掌握这些知识点,为你的IT职业生涯打下坚实的基础。高清文字版和正常排版确保了学习体验,使你...

    weblogic server 10

    WebLogic Server 是一款由 Oracle 提供的企业级应用服务器,主要用于构建和部署可伸缩、高性能的应用程序和服务。WebLogic Server 10 版本是在 WebLogic Server 9 的基础上进行的一次重大升级,它在性能、安全性以及...

    Oracle Weblogic Server 11gR1 PS2: Administration Essentials

    本教程“Oracle Weblogic Server 11gR1 PS2: Administration Essentials”涵盖了WebLogic Server的基本管理和高级特性,旨在帮助管理员有效管理WebLogic域和应用程序。 1. **WebLogic Server安装与配置**: - 安装...

    BEA WebLogic Server book(中文)

    4. **集群与高可用性**: 集群是WebLogic Server的重要特性,通过复制和负载均衡提高应用的可用性和性能。书中可能包含创建、配置和管理WebLogic集群的步骤。 5. **安全**: WebLogic Server支持多种安全机制,包括...

    Oracle WebLogic Server开发权威指南.pdf

    4. **集群与高可用性**:WebLogic Server支持集群部署以提高系统的可用性和可扩展性。书中会介绍如何配置和管理集群,以及负载均衡和故障转移的实现。 5. **性能调优**:针对WebLogic Server的性能优化是本书的重点...

    BEA WebLogic Server 8.1 Unleashed

    4. **集群和高可用性**:通过集群技术,WebLogic Server可以实现应用的高可用性和负载均衡,提高系统的可靠性和性能。 5. **管理工具**:WebLogic Administration Console是一个基于Web的图形界面,用于配置、管理...

    bea weblogic server 管理指南

    3. **集群管理**:WebLogic Server支持集群部署,以实现高可用性和负载均衡。集群管理涉及节点的添加、删除、故障转移策略以及集群间的通信配置。 4. **应用程序部署**:学习如何打包和部署EJB、Web应用以及复合...

    BEA WebLogic Server_WebLogic Server_app.zip_weblogic

    3. **集群和高可用性**:WebLogic Server支持集群配置,可以实现负载均衡、故障转移,提高应用的可用性和可靠性。 4. **安全性**:WebLogic Server内置了多种安全特性,包括身份验证、授权、加密和审计,可以与目录...

    ORACLE Weblogic server 11g Advanced Administration 学员手册 SG

    1. **WebLogic Server架构**:了解WebLogic Server的基础架构,包括域(Domain)的概念,服务器(Server),集群(Cluster),以及如何配置这些组件以实现高可用性和负载均衡。 2. **部署与管理**:学习如何部署各种类型...

    J2EE 应用与 BEA WebLogic Server

    WebLogic Server的集群功能能确保高可用性和故障切换,而其丰富的管理工具则便于系统运维和性能优化。 5. **WebLogic与J2EE的集成**:学习如何配置和部署J2EE应用到WebLogic Server上,包括WAR、EAR文件的打包和...

    Weblogic Server系列【初级篇】架构和术语.pdf

    Weblogic Server 是一款由Oracle公司开发的企业级中间件产品,主要用于构建和部署可伸缩、高可用性的企业应用程序。其提供了强大的功能集,支持多种标准如Java EE,并且能够很好地集成到现有的IT环境中。 #### 二、...

    WebLogic Server基础

    - **集群**:为了提高可用性和性能,WebLogic Server支持将多个服务器实例组织成集群,负载均衡和故障转移都在集群级别实现。 - **部署单元**:应用程序、EJB(Enterprise JavaBeans)、Web服务等都是部署单元,...

    BEA WebLogic Server PPT

    5. 高可用性和容错:讨论WebLogic Server的集群特性,如何通过负载均衡、故障转移实现服务的不间断和高可用性。同时,会讲解备份恢复策略和灾难恢复方案。 6. 安全性:涵盖SSL/TLS配置、用户认证与授权、角色与权限...

    BEA Weblogic Server宝典

    9. **集群与高可用性**:介绍WebLogic Server的集群技术,包括集群的创建、负载均衡、故障转移,以及集群的扩展和维护。 10. **安全管理**:讲解WebLogic Server的安全特性,如用户认证、授权、SSL/TLS加密、JAAS...

    Oracle WebLogic Server开发权威指南_pdf_源码

    4. **集群与高可用性**:讨论WebLogic Server的集群功能,包括集群配置、负载均衡和故障转移,以实现高可用性和可伸缩性。这部分内容对于确保关键业务系统的持续运行至关重要。 5. **安全性**:介绍WebLogic Server...

    精通BEA WebLogic Server——构建与部署J2EE应用的最佳策略

    《精通BEA WebLogic Server——构建与部署J2EE应用的最佳策略》这本书是针对企业级Java开发者和系统管理员的一份重要指南,它深入探讨了如何有效地利用BEA WebLogic Server来构建、部署以及管理J2EE(Java 2 ...

    Oracle WebLogic Server 售前资料

    Oracle WebLogic Server是Oracle公司的一款高性能、高可用的企业级应用服务器,它作为中间件的核心组件,为企业提供了强大的技术支持。这款服务器不仅能够支持快速的应用开发,还能够提供卓越的性能,确保企业业务的...

Global site tag (gtag.js) - Google Analytics