预备知识
什么是Domain和Server
Domain
Domain是WebLogic Server实例的基本治理单元。所谓Domain就是,由配置为Administrator Server的WebLogic Server实例治理的逻辑单元,这个单元是有所有相关资源的集合。
Server
Server是一个相对独立的,为实现某些特定功能而结合在一起的单元。
Domain and Server的关系
一个Domain 可以包含一个或多个WebLogic Server实例,甚至是Server集群。一个Domain中有一个且只能有一个Server 担任治理Server的功能,其它的Server具体实现一个特定的逻辑功能
WebLogic Server 群集由多个 WebLogic Server 服务器实例组成,这些服务器实例同时运行并一起工作以提高可缩放性和可靠性。对于客户端而言,群集是一个 WebLogic Server 实例。构成群集的服务器实例可以在同一台计算机上运行,也可以位于不同的计算机上。可以通过向现有计算机上的群集中添加更多的服务器实例来增加群集的容量,也可以向群集中添加计算机以承载递增的服务器实例。群集中的每个服务器实例必须运行同一版本的 WebLogic Server。
群集与域
群集是特定 WebLogic Server 域的一部分。
域是作为单元进行管理的一组相关的 WebLogic Server 资源。一个域包含一个或多个 WebLogic Server 实例,这些实例可以是群集实例、非群集实例,或者是群集与非群集实例的组合。一个域可以包含多个群集。域还包含部署在域中的应用程序组件、此域中的这些应用程序组件和服务器实例所需的资源和服务。应用程序和服务器实例使用的资源和服务示例包括计算机定义、可选网络通道、连接器和启动类。
可以使用各种条件将 WebLogic Server 实例组织到域中。例如,可以选择根据承载的应用程序的逻辑分区、地理方面的考虑或管理的资源的数目或复杂性将资源分配到多个域中。
在每个域中,一个 WebLogic Server 实例可充当管理服务器 - 此服务器实例可配置、管理和监视域中所有其他服务器实例和资源。每个管理服务器只管理一个域。如果一个域中包含多个群集,则域中的每个群集都具有相同的管理服务器。
群集中的所有的服务器实例必须驻留在同一域中;不能将群集“拆分”到多个域中。同样,不能在域之间共享配置的资源或子系统。例如,如果在一个域中创建了 JDBC 连接缓冲池,则不能将其用于另一个域中的服务器实例或群集。(而是必须在另一个域中创建类似的连接缓冲池。)
群集的 WebLogic Server 实例除提供故障转移和负载平衡外,其他行为与非群集的实例相似。配置群集的 WebLogic Server 实例所使用的过程和工具与配置非群集的 WebLogic Server 实例所使用的过程和工具相同。但是,为了获得群集启用的负载平衡和故障转移优点,必须符合群集配置的某些准则。
群集的优点
WebLogic Server 群集提供了以下这些优点:
-
可伸缩性可以动态增加部署在 WebLogic Server 群集中的应用程序的容量以满足需要。可以将服务器实例添加到群集中而不会中断服务 - 应用程序将继续运行而不会影响客户端和最终用户。 -
高可用性在 WebLogic Server 群集中,当服务器实例失败时应用程序可继续进行处理。可通过将应用程序组件部署到群集中的多个服务器实例“群集”这些组件 - 这样,如果在其上运行某个组件的服务器实例失败,则将此组件部署到的其他服务器实例可以继续进行应用程序处理。
群集 WebLogic Server 实例的选择对于应用程序开发人员和客户端是透明的。但是,了解启用群集的技术基础结构将有助于编程人员和管理员最大化其应用程序的可伸缩性和可用性。
群集的关键功能
本部分采用非技术术语定义了启用可伸缩性和高可用性的关键群集功能。
-
应用程序故障转移简单的说,故障转移是当应用程序组件(在下列部分中通常称作“对象”)正在处理某个特定作业时 - 某些处理任务部分由于任何原因而变得不可用,已失败对象的副本将结束此作业。对于能够接管失败对象的新对象:-
必须存在可接管作业的已失败对象的副本。 -
必须存在对于其他对象和管理故障转移的程序可用的信息,从而定义所有对象的位置和操作状态,以便在完成其作业之前确定第一个失败的对象。 -
必须存在对于其他对象和管理故障转移的程序可用的信息(关于正在进行中的作业的进度),以便接管中断作业的对象了解在第一个对象失败之前完成的作业量,例如,已更改的数据以及过程中已完成的步骤。WebLogic Server 使用基于标准的通信技术和工具 - 多播、IP 套接口、以及 Java 命名和目录接口 (JNDI) 来共享和维护群集中有关对象可用性的信息。这些技术允许 WebLogic Server 确定某个对象在结束其作业之前已停止,以及用于完成已中断作业的对象副本的位置。有关已对作业所进行的操作的信息被称作状态。WebLogic Server 可使用称为“会话复制”和“可识别副本的存根控件”的技术来维护有关状态方面的信息。如果某个特定对象意外地停止进行其作业,复制技术将启用此对象的副本将拾取失败对象停止的位置,并完成作业。
-
-
WebLogic Server 支持自动或手动将群集服务器实例从一台计算机迁移到另一台计算机。可迁移的受管服务器被称作“可迁移服务器”。本功能适用于要求高可用性的环境。服务器迁移功能对于以下方面非常有用-
确保“单元集服务”的不中断可用性 - 当承载服务器实例失败时,在任何给定的时间,单元集服务必须仅在单个服务器实例上运行,例如 JMS 和 JTA 事务恢复系统。为自动迁移配置的受管服务器在失败时将被自动迁移到另一台计算机。 -
简化重新定位受管服务器的过程以及其承载的所有服务是规划系统管理进程的一部分。管理员可以从管理控制台或命令行中启动受管服务器的迁移。服务器迁移过程会将整个受管服务器(包括 IP 地址和承载的应用程序)重新定位到预先定义的可用主机集中的一个。
-
-
负载平衡负载平衡是在环境中跨计算资源与网络资源平均分发作业和关联的通信。对于即将发生的负载平衡:-
必须存在可以执行特定作业的对象的多个副本。 -
有关所有对象的位置和操作状态的信息必须可用。WebLogic Server 允许群集对象 - 部署在多个服务器实例中,以便具有执行同一作业的备用对象。WebLogic Server 会使用多播、IP 套接口和 JNDI 共享和维护已部署对象的可用性和位置。
-
可以群集对象的类型
群集的应用程序或应用程序组件在群集中的多个 WebLogic Server 实例上可用。如果已群集某个对象,则此对象的故障转移和负载平衡是可用的。将对象均匀部署到群集中的每个服务器实例,可以简化群集管理、维护和故障排除。
Web 应用程序可由不同类型的对象组成,包括企业 Java Bean (EJB),servlet 和 Java Server Pages (JSP)。每种对象类型都具有唯一的一组与控制、调用以及它如何在应用程序内起作用相关的行为。由于此原因,WebLogic Server 用于支持群集的方法,以及用于提供负载平衡和故障转移的方法,会因不同的类型对象而异。可在 WebLogic Server 部署对下列类型的对象进行群集:
-
Servlet -
JSP -
EJB -
远程方法调用(Remote Method Invocation,简称 RMI)对象 -
Java 消息服务 (JMS) 目标 -
Java 数据库连接 (JDBC) 连接
不同对象类型可以具有某些共同的行为。如果是这样的话,则这些类似对象类型的群集支持和实现注意事项可能是相同的。在以下部分中,以下对象类型的解释和说明通常组合为:
-
Servlet 和 JSP -
EJB 和 RMI 对象
下列部分简述了 WebLogic Server 为不同类型的对象提供的群集、故障转移和负载平衡支持。
Servlet 和 JSP
WebLogic Server 通过复制访问群集 servlet 和 JSP 的客户端的 HTTP 会话状态,为 servlet 和 JSP 提供了群集支持。WebLogic Server 可在内存、文件系统或数据库中维护 HTTP 会话状态。
要启用 servlet 和 JSP 的自动故障转移,会话状态必须持久保存在内存中。有关 servlet 和 JSP 的故障转移的工作方式信息,以及相关要求和编程注意事项。
可使用 WebLogic Server 代理插件或外部负载平衡硬件在群集中平衡 servlet 和 JSP 的负载。WebLogic Server 代理插件可执行循环法负载平衡。外部负载平衡器通常支持各种会话负载平衡机制。
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 方法。可使用管理控制台配置群集以使用其他方法之一。选择的方法将保留在为群集对象获取的可识别副本的存根控件中。有关详细信息。
JDBC 连接
WebLogic Server 允许您群集 JDBC 对象(包括数据源和多数据源),以提高群集承载应用程序的可用性。为群集配置的每个 JDBC 对象必须存在于群集中的每个受管服务器上 - 当配置 JDBC 对象时,会将其定位到群集。
-
数据源 - 在群集中,外部客户端必须通过 JNDI 树上的 JDBC 数据源获得连接。数据源使用 WebLogic Server RMI 驱动程序来获取连接。如果承载先前连接的服务器实例失败,那么外部客户端应用程序中的 WebLogic 数据源的群集识别特性将请求另一个连接。尽管不是严格要求,BEA 还是建议服务器端的客户也应通过 JNDI 树中的数据源获得连接。 -
多数据源 - 多数据源是一组数据源的提取,可提供与此多数据源相关联的各数据源之间的负载平衡或故障转移处理。就像数据源会绑定到 JNDI 树一样,多数据源会绑定到 JNDI 树或本地应用程序上下文。就像在 JNDI 树上查找数据源一样,应用程序将在 JNDI 树上查找多数据源,然后请求数据库连接。多数据源会根据在多数据源配置中选择的算法(负载平衡或故障转移)确定要使用哪一个数据源来满足该请求。
使用群集的 JDBC 获取连接
要确保任何 JDBC 请求可由任何群集成员等同处理,群集中的每个受管服务器必须具有相似命名/定义的数据源或多数据源(如果适用)。要达到此效果,应将数据源和多数据源定位到群集中,以便它们可识别群集,如果将其用于外部客户端,它们将可连接到任何群集成员。
-
外部客户端连接 - 要求数据库连接执行 JNDI 查找,并获取数据源的可识别副本的存根控件的外部客户端。数据源存根控件包括承载数据源的服务器实例列表 - 服务器实例应该是群集中的所有受管服务器。可识别副本的存根控件包括负载平衡逻辑,用于在主机服务器实例中分发负载。 -
服务器端客户端连接 - 对于服务器端使用,将由数据源或多数据源的本地实例处理连接请求。服务器端数据源不会由于其 JDBC 连接而转至其他群集成员。在数据库事务的持续时间内,并且只要应用程序代码保留连接(除非连接关闭),连接将被固定到本地服务器实例。
JDBC 连接的故障转移和负载平衡
群集 JDBC 对象不会启用连接的故障转移,但在连接失败时,它将简化重新连接的过程。在复制的数据库环境中,可以群集多数据源以支持数据库故障转移和连接的负载平衡(可选)。有关详细信息,请参阅下列主题:
JMS和群集
通过支持在群集范围内透明访问群集中任何 WebLogic Server 服务器实例中目标,WebLogic Java 消息传递服务 (JMS) 体系结构可实现多个 JMS 服务器的群集。尽管 WebLogic Server 支持通过群集分发 JMS 目标和连接工厂,但是同一 JMS 主题和队列仍由群集中的每个 WebLogic Server 实例独立管理。
JMS 支持负载平衡。要启用负载平衡,必须为 JMS 服务器配置目标。
不可群集类型的对象
以下 API 和外部服务不可在 WebLogic Server 内群集:
-
包含文件共享的文件服务 -
时间服务
在群集的各个 WebLogic Server 实例中仍可使用这些服务。但是,这些服务不能使用负载平衡或故障转移功能。
转摘http://www.blogjava.net/zhouxing/archive/2007/06/11/123347.html
相关推荐
WebLogic集群部署是Oracle公司提供的企业级Java应用服务器在高可用性、可伸缩性和负载均衡方面的重要特性。本文将详细解析WebLogic集群的概念、优势、配置步骤以及单服务器和多服务器部署的区别。 首先,WebLogic...
Weblogic集群配置手册 V1.0 本文档是关于Weblogic集群配置的详细手册,旨在指导用户在实际应用中配置Weblogic集群。该手册分为十个章节,涵盖了从安装Weblogic中间件到配置集群应用的所有步骤。 1. 安装WEBLOGIC...
WebLogic集群配置和负载均衡的实现
weblogic集群扩充 服务器应用 - 群集服务 - weblogic集群扩充weblogic集群详细的搭建步骤,绝对手把手的教你部署weblogic服务器以及集群的扩容.zip
WebLogic集群环境搭建的知识点主要包括以下几个方面: 1. WebLogic集群环境的概念 WebLogic集群是由多个运行同一WebLogic Server软件的服务器节点组成,可以提供高可用性和可扩展性的应用服务器环境。集群中的各个...
weblogic集群部署文档 weblogic集群部署文档 weblogic集群部署文档
在深入探讨WebLogic集群之前,有必要理解传统双机架构的局限性。传统的双机热备模式可能导致资源利用率不均,主机繁忙而备机空闲。此外,当一个服务器出现问题时,需要手动切换至另一台服务器,管理和维护过程繁琐,...
WebLogic集群是通过多台服务器实例的集合来提供高可用性和负载均衡的。每台服务器实例都可以运行相同的应用,并通过网络连接共享资源和服务。当一台服务器出现故障时,其他服务器可以接管其工作,确保服务不间断。...
本文档主要介绍了如何在Windows和Linux操作系统上搭建WebLogic集群,包括WebLogic Server的安装、Domain的配置以及集群的创建和节点的添加。 首先,安装WebLogic Server的过程大致如下: 1. 在命令行中,定位到...
本文主要介绍WebLogic集群的概念、配置过程和管理方法,希望能为需要了解或实施WebLogic集群的朋友们提供图文并茂的实用指南。 一、WebLogic集群概念及区别 WebLogic集群主要通过多个服务器实例共同工作,来提供...
在Linux环境下部署WebLogic集群是一项关键的任务,它涉及到服务器的配置、JDK的安装、WebLogic Server的安装以及集群的创建和管理。以下是一份详尽的步骤指南: 首先,确保系统环境满足WebLogic Server的运行需求。...
WebLogic集群OA系统的安装与部署是一项复杂而关键的任务,它涉及到服务器配置、网络设置、数据库连接以及应用的分发和管理等多个环节。以下是对这一主题的详细解释: 1. **WebLogic服务器**:WebLogic是Oracle公司...
以下将详细解释WebLogic集群的相关概念及其配置要点。 首先,Domain是WebLogic Server管理的基本单位,它是一个逻辑组织,包含了管理服务器、被管理服务器、机器、节点管理器以及可能存在的多个集群。Domain的配置...
在“weblogic集群设置完整版”这个主题中,我们将深入探讨WebLogic集群的配置过程及其重要概念。 一、集群基础 WebLogic集群是由多个相互协作的WebLogic Server实例组成的集合,它们共享应用程序和服务,并且能够...
本文将深入探讨WebLogic集群的相关知识,包括其目的、架构、配置要求以及创建集群的步骤,以帮助读者理解如何在采集系统中部署WebLogic集群。 1. WebLogic集群基本概念 WebLogic集群的主要目标是实现系统的热备...
WebLogic集群安装配置手册主要涵盖了在Linux环境下搭建WebLogic集群的详细步骤,旨在为IT同行提供一个简单易懂的安装指南。以下是对整个过程的详细解释: 1. **WebLogic域创建及配置** - **进入域配置目录**:首先...
### WebLogic 集群中SSL配置详解 #### 前言 随着互联网技术的发展,安全问题变得尤为重要。为了确保数据传输的安全性,许多企业采用了SSL(Secure Sockets Layer)加密技术来保护其Web应用程序。Oracle WebLogic ...
#### 一、WebLogic 集群安装 ##### 1.1 安装环境概述 在进行 WebLogic 集群的安装之前,需要对安装环境进行一定的规划与准备。这里主要包括硬件环境的支持以及软件环境的搭建。 ##### 1.2 硬件需求 - **服务器配置...
WebLogic集群是Oracle WebLogic Server的一种高级特性,它允许在多台服务器上分布和复制应用服务,以提高可用性、可扩展性和性能。在本文档中,我们将深入探讨WebLogic 8.1集群的概念和配置。 **Domain** Domain是...