Weblogic 12.1.3集群管理手册(了解weblogic集群)

来源:互联网 发布:手机申请淘宝号的步骤 编辑:程序博客网 时间:2024/06/13 09:38

2  了解weblogic集群

本章节提供了对weblogic服务器集群的简单介绍。本章节包含以下部分:

2.1 什么是weblogic服务器集群?

2.2 什么是动态集群?

2.3 weblogic集群与weblogic域之间的联系?

2.4 集群有哪些好处?

2.5 集群的关键功能

2.6 哪些类型的对象能够应用到集群中?

2.7 哪些类型的对象不能够应用到集群中?


2.1 什么是weblogic服务器集群?

        weblogic集群是由大量的同时运行和协作的weblogic服务实例组成,可靠性和可扩展性均得到增强。对于客户而言,一个weblogic集群仅仅是一个weblogic服务实例。一个集群中的所有服务实例可以运行在一台或者多台服务器上。通过向现有服务器添加服务实例或者添加新的服务器来增强现有集群的能力。集群中所有的服务实例的weblogic服务器版本必须一致。

2.2 什么是动态集群?

        动态集群中可以动态的增加或者减少服务实例来满足应用对资源的需求。一个动态集群使用一个服务实例模板来定义指定数量的服务实例的配置信息。当你创建动态集群的时候,集群中的实例被提前配置并自动产生,使你可以很容易的控制服务实例的数目。更多的信息可以查看第11章节,动态集群。

2.3 weblogic集群与weblogic域之间的联系

       一个集群从属于一个特定的域。
       一个域是一组内部相互关联的weblogic服务器资源的集合,这些资源作为一个整体被管理。一个域包含一个或者多个服务实例,这些实例既可能属于某个集群也可能不属于任何集群或者部分属于某个集群与部分不属于任何集群,一个域中可以包含多个集群。同时,一个域也包含部署在域中的应用程序及这些应用程序所需要的资源和服务(例如服务器定义信息,可选的网络渠道,和启动类等等),和weblogic服务实例。您可以使用各种标准组织域中的WebLogic实例。例如,在你为多个域分配资源的时候基于域所部署的应用程序的逻辑划分,地理位置因素或者管理的资源数量或复杂程度。更多的域的信息可以参照“Understanding Domain Configuration for Oracle WebLogic Server (http://docs.oracle.com/cd/E14571_01/web.1111/e13716/toc.htm)
        在每一个域中,有一个服务实例担当管理服务器,这个服务实例可以配置、管理和监控其他的服务实例和域中的资源。每一个管理服务器仅仅管理一个域。如果这个域中包含了多个集群,多个集群也均由这一台管理服务器管理。
       一个集群中的实例必须在一个域中,你不能把一个集群中的实例划分到不同的域中。同样,你也不能在域之间共享配置的资源或子系统。
       除了集群中的服务实例提供了故障转移和负载均衡外,集群中的服务实例的行为和非集群中的服务实例类似,配置过程和工具都是一样的。但是为了让故障转移和负载均衡在集群中起作用,必须进行相应的配置。为了理解故障转移和负载均衡机制在weblogic中的使用,请查看第5章节“集群中的负载均衡” 和第六章节的“集群中故障转移和复制”
更加详细的配置信息在第十章节“配置weblogic集群”会有详细讲解。

2.4集群有哪些好处

一个weblogic集群的使用有以下益处:

可扩展性

        部署在集群上的应用系统的服务能力可以动态的提高来满足要求。应用系统在用户毫无感知的情况下添加新的服务实例到集群中。

高可用性

        在weblogic集群中,当出现某个服务实例运行故障,其它的服务实例会继续工作,应用程序可以继续处理业务。对于应用的开发者和用户来说,集群服务实例是透明的。但是理解集群的技术机制可以让开发者和管理者最大化的提高应用系统的可扩展性和可用性。

2.5 集群的关键功能

这一部分使用非技术术语的形式描述了实现集群可扩展和高可用的关键功能。

应用程序故障切换

简单的讲,故障意味着正在执行任务的应用程序对象因为某些原因不能使用。为了让新的应用程序取代故障的应用程序继续执行任务,必须:

具有故障应用程序对象的复制。

必须有相应的故障信息定义了故障位置和操作状态信息,使其它应用程序对象和故障管理程序可以使用。

必须记录故障发生前应用程序对象已经执行完毕的任务例如哪些数据已经被更新,执行到程序的哪一步。

         weblogic服务器使用标准的通信机制和设施来共享和维护应用程序对象的可使用性,包括IP套接字和Java命名和目录接口(JNDI).这些技术使weblogic服务器清楚哪些应用程序对象出现故障,故障应用程序对象的备份位置。

注意:为了保持以前版本的向后兼容性,本版本weblogic服务器支持在集群中使用多播的通信模式

        有关已对作业所进行的操作的信息被称作状态。WebLogic Server 可使用称为“会话复制”和“可识别副本的存根控件”的技术来维护有关状态方面的信息。如果某个特定对象意外地停止进行其作业,复制技术将启用此对象的副本将拾取失败对象停止的位置,并完成作业。

         WebLogic Server 支持自动或手动将群集服务器实例从一台计算机迁移到另一台计算机。可迁移的受管服务器被称作“可迁移服务器”。本功能适用于要求高可用性的环境。服务器迁移功能对于以下方面非常有用

  • 确保“单元集服务”的不中断可用性 - 当承载服务器实例失败时,在任何给定的时间,单元集服务必须仅在单个服务器实例上运行,例如 JMS 和 JTA 事务恢复系统。为自动迁移配置的受管服务器在失败时将被自动迁移到另一台计算机。
  •  简化重新定位受管服务器的过程以及其承载的所有服务是规划系统管理进程的一部分。管理员可以从管理控制台或命令行中启动受管服务器的迁移。
  •  服务器迁移过程会将整个受管服务器(包括 IP 地址和承载的应用程序)重新定位到预先定义的可用主机集中的一个。    

负载平衡

负载平衡是在环境中跨计算资源与网络资源平均分发作业和关联的通信。对于即将发生的负载平衡:
    必须存在可以执行特定作业的对象的多个副本。

    有关所有对象的位置和操作状态的信息必须可用。
    WebLogic Server 允许群集对象 - 部署在多个服务器实例中,以便具有执行同一作业的备用对象。WebLogic Server 会使用单播、IP 套接口和 JNDI 共享和维护已部署对象的可用性和位置。

注意:在weblogic10之前,集群间的通信一直使用多播。到10之后,开始默认使用单播。多播与单播相比,没有纠错机制,发生丢包错包后难以弥补,所以单播相对于多播更加稳定可靠。

2.6 哪些类型的对象能够应用到集群中?

        Web 应用程序可由不同类型的对象组成,包括企业 Java Bean (EJB),servlet 和 Java Server Pages (JSP)。每种对象类型都具有唯一的一组与控制、调用以及它如何在应用程序内起作用相关的行为。由于此原因,WebLogic Server 用于支持集群的方法,以及用于提供负载平衡和故障转移的方法,会因不同的类型对象而异。可在 WebLogic Server 部署对下列类型的对象进行集群:
    Servlet
    JSP
    EJB
    远程方法调用(Remote Method Invocation,简称 RMI)对象
    Java 消息服务 (JMS) 目标
        不同对象类型可以具有某些共同的行为。如果是这样的话,则这些类似对象类型的群集支持和实现注意事项可能是相同的。在以下部分中,以下对象类型的解释和说明通常组合为:
    Servlet 和 JSP
    EJB 和 RMI 对象
下列部分简述了 WebLogic Server 为不同类型的对象提供的群集、故障转移和负载平衡支持。 

Servlet 和 JSP

       WebLogic Server 通过复制访问群集 servlet 和 JSP 的客户端的 HTTP 会话状态,为 servlet 和 JSP 提供了群集支持。WebLogic Server 可在内存、文件系统或数据库中维护 HTTP 会话状态。
       要启用 servlet 和 JSP 的自动故障转移,会话状态必须持久保存在内存中。有关 servlet 和 JSP 的故障转移的工作方式信息,以及相关要求和编程注意事项,请参阅HTTP 会话状态复制
        可使用 WebLogic Server 代理插件或外部负载平衡硬件在群集中平衡 servlet 和 JSP 的负载。WebLogic Server 代理插件可执行循环法负载平衡。外部负载平衡器通常支持各种会话负载平衡机制。有关详细信息,请参阅Servlet 和 JSP 的负载平衡

EJB 和 RMI 对象

        可使用“可识别副本的存根控件”(可在群集中定位对象实例)处理 EJB 和 RMI 对象的负载平衡和故障转移。为 EJB 和 RMI 对象创建可识别副本的存根控件是对象编译过程所产生的结果。会将 EJB 和 RMI 对象均匀部署到群集中的所有服务器实例。
        可使用对象的可识别副本的存根控件完成 EJB 和 RMI 对象的故障转移。当客户端通过可识别副本的存根控件向失败的服务做出调用时,该存根控件可检测故障并在另一副本上重试此调用。要了解故障转移对不同类型对象的支持,请参阅EJB 和 RMI 的复制和故障转移
        WebLogic Server 群集支持多种负载平衡群集 EJB 和 RMI 对象的算法:round-robin、weight-based、random、round-robin-affinity、weight-based-affinity 和 random-affinity。默认情况下,WebLogic Server 群集将使用 round-robin 方法。可使用管理控制台配置群集以使用其他方法之一。选择的方法将保留在为群集对象获取的可识别副本的存根控件中。有关详细信息,请参阅 EJB 和 RMI 对象的负载平衡。 

JMS和集群

         通过支持在群集范围内透明访问群集中任何 WebLogic Server 服务器实例中目标,WebLogic Java 消息传递服务 (JMS) 体系结构可实现多个 JMS 服务器的群集。尽管 WebLogic Server 支持通过群集分发 JMS 目标和连接工厂,但是同一 JMS 主题和队列仍由群集中的每个 WebLogic Server 实例独立管理。
         JMS 支持负载平衡。要启用负载平衡,必须为 JMS 服务器配置目标。有关负载平衡和 JMS 组件的详细信息,请参阅JMS 的负载平衡。有关设置群集 JMS 的说明,请参阅为固定服务配置可迁移目标部署、激活和迁移可迁移服务。 

2.7 什么类型的对象不可群集?

以下 API 和外部服务不可在 WebLogic Server 内集群使用:

包含文件共享的文件服务

时间服务

在集群各个 WebLogic Server 实例中仍可使用这些服务。但是,这些服务不能使用负载平衡或故障转移功能。

0 0
原创粉丝点击