了解 WebLogic Server 域
下列部分介绍了 WebLogic Server 域及其内容:
什么是
域?
WebLogic Server 管理“域”
是逻辑上相关的一组 WebLogic Server 资源。域包含一个称为“管理服务器”
的特殊 WebLogic Server 实例,它是您配置和管理域中所有资源的中心点。通常将域配置为包含称为“受管服务器”
的其他 WebLogic Server 实例。应将 Web 应用程序、EJB 和其他资源部署到受管服务器上,而管理服务器只应用于配置和管理目的。
多台受管服务器可以组成一个“群集”
,这样可以使用单个管理服务器来简化对受管服务器实例的管理,现时还可以平衡负载并为关键应用程序提供故障转移保护。
WebLogic Server 中的系统管理基于 J2EE 管理模型,在该模型中,Web 应用服务器资源类型的每个实例都由一个 J2EE 受管对象(J2EE Managed Object,简称 JMO)表示。在 WebLogic Server 中,每个 JMO 都是相应 MBean 的包装。许多 WebLogic Server 管理任务都可以通过访问 MBean 完成,可直接使用 JMX 访问,也可以通过诸如 WebLogic 管理控制台或 WebLogic 脚本工具(WebLogic Scripting Tool,简称 WLST)之类的 JMX 客户端访问。有关详细信息,请参阅
使用 J2EE 管理 API 进行监视和管理和
WebLogic Server MBean Reference。
组织
域
如何将 WebLogic Server 安装组织到域中取决于业务的需要。可以基于不同的系统管理员职责、应用程序边界或运行服务器的计算机所在的地理位置来定义多个域。相反,也可以决定使用一个域来集中处理所有 WebLogic Server 管理活动。
根据特定的业务需要和系统管理实践,可以决定基于下列类似条件组织域:
- 应用程序的逻辑划分。例如,可以用一个域来专门提供最终用户功能(例如购物车),而将另一个域专用于后端财务应用程序。
- 物理位置。可以为企业的不同位置或分支建立单独的域。
- 大小。您可能发现,将域组织成较小的单元可提高管理效率,可以由不同的系统管理员进行管理。相反,您可能发现维护一个域或较少数目的域可以使维护一致性配置变得更容易。
一个域可以由一个管理服务器以及一个或多个受管服务器组成,也可以由一台既充当管理服务器又运行已部署的应用程序的独立服务器组成。
- 包含单独受管服务器的域:一个简单的生产环境可以由包含多台承载应用程序的受管服务器,和一台执行管理操作的管理服务器的域组成。在此配置中,应用程序和资源将被部署到各个受管服务器;同样,访问应用程序的客户端将连接到各个受管服务器。
需要提高应用程序性能、吞吐量或可用性的生产环境应将两个或多个受管服务器配置为一个群集。群集允许多个受管服务器在承载应用程序和资源时作为一个单元运行。有关独立受管服务器和群集受管服务器之间的区别的详细信息,请参阅
受管服务器和受管服务器群集。
- 独立服务器域:对于开发和测试环境,可能需要独立于生产域中的服务器来部署单个应用程序和服务器。在这种情况下,可以部署由一个服务器实例组成的简单域,该服务器实例既充当管理服务器,又可承载要开发的应用程序。可以与 WebLogic Server 一起安装的 wl_server 域便是一个独立服务器域的示例。
注意: 在生产环境中,BEA 建议仅在域中的受管服务器上部署应用程序;而应保留管理服务器用于管理任务。
域
的内容
虽然每个域的范围和目的可能会大相径庭,但大多数 WebLogic Server 域都包含本部分中所描述的组件。
下图显示了一个生产环境,它包含一台管理服务器、三台独立受管服务器以及一个由三台受管服务器组成的群集。
管理
服务器
每个 WebLogic Server 域都必须包含一个充当管理服务器的服务器实例。可以以编程方式、或通过管理控制台或 WLST 使用管理服务器,以配置域中的所有其他服务器实例和资源。
管理服务器的角色
在启动域中的受管服务器之前,应先启动管理服务器。启动独立受管服务器或群集受管服务器后,它会联系管理服务器以获取其配置信息。通过这种方式,管理服务器可充当整个域配置的中央控制实体。
管理服务器在启动时会加载域的 config.xml 文件。除非在创建域时指定了其他目录,否则 config.xml 将存储在以下目录中:
BEA_HOME/user_projects/domains/mydomain/config
其中 mydomain 是域特定的目录,其名称与域的名称相同。 config.xml 文件可引用位于域的 config 目录的子目录下的其他配置文件。
每次管理服务器成功启动后,都会在域目录下创建一个名为 config-booted.jar 的备份配置文件。如果配置文件在服务器实例的生命周期中受损,则可以恢复到此先前的配置,不过这种情况很少发生。
如果管理服务器失败 将出现什么情况?
域的管理服务器的失败不会影响域中受管服务器的操作。如果域的管理服务器在它管理(采用群集或其他形式)的服务器实例启动和运行时变为不可用,这些受管服务器仍将继续运行。如果域包含群集服务器实例,则即使管理服务器失败,域配置支持的负载平衡和故障转移功能仍将保持可用。如果管理服务器停止运行,而域中的受管服务器还在继续运行,则每台受管服务器都会定期尝试重新连接到管理服务器。
如果管理服务器因其主机上的硬件或软件故障而失败,则位于同一计算机上的其他服务器实例也可能会受到类似的影响。但是,管理服务器本身的失败不会中断域中受管服务器的操作。另外,即使管理服务器未在运行,也可以启动受管服务器。在这种情况下,管理服务器使用其配置文件的本地副本进行启动配置,然后定期尝试连接到管理服务器。连接成功后,它将同步其配置状态与管理服务器的配置状态。
有关重新启动管理服务器的说明,请参阅“管理服务器启动和关闭”中的 避免服务器故障并从服务器故障恢复。
受管 服务器和受管服务器群集
在域中,管理服务器之外的服务器实例被称为受管服务器。受管服务器用于承载组成应用程序的组件和关联的资源,例如 JSP 和 EJB。受管服务器在启动时会连接到域的管理服务器以获取配置和部署设置。
注意: 如果管理服务器不可用,则可以独立于管理服务器启动域中的受管服务器。有关详细信息,请参阅“管理服务器启动和关闭”中的 受管服务器独立模式。
可以将两个或多个受管服务器配置为 WebLogic Server“群集”,以提高应用程序的可伸缩性和可用性。在 WebLogic Server 群集中,会以相同的方式将大多数资源和服务部署到每台受管服务器上(与单个受管服务器相反),从而启用故障转移和负载平衡。单一域可以包含多个 WebLogic Server 群集,也可以包含未配置为群集的多台受管服务器。群集和非群集的受管服务器之间的关键区别在于是否支持故障转移和负载平衡。这些功能仅在受管服务器的群集中可用。有关 WebLogic Server 群集的优点和功能的详细信息,请参阅“使用 WebLogic Server 群集”中的 了解 WebLogic Server 群集。
资源 和服务
除管理服务器和受管服务器外,一个域还包含域中部署的受管服务器和承载的应用程序所必需的资源和服务。
域配置包含有关在其中运行域的网络计算机环境的信息,例如:
- 用于标识硬件的特定物理部分的计算机定义。计算机定义用于将计算机与它承载的受管服务器相关联。节点管理器在重新启动失败的受管服务器时会使用此信息,另外,群集受管服务器在选择复制的会话数据的最佳存储位置时也会使用此信息。有关节点管理器的详细信息,请参阅“管理服务器启动和关闭”中的使用节点管理器控制服务器。
- 网络通道,它是可用于定义默认端口、协议和协议设置的可选资源。创建网络通道后,可以将其分配给域中任意数目的受管服务器和群集。有关详细信息,请参阅“配置 WebLogic Server 环境”中的配置网络资源。
域配置还包含与域中承载的应用程序关联的资源和服务相关的信息。这些资源和服务的示例包括:
- 应用程序组件,例如 EJB
- 安全提供程序
- 资源适配器
- JDBC 数据源
- JMS 服务器或其他消息传递资源
- 存储转发服务
- 持久性存储
- 启动类
- 诊断和监视服务
可将资源和服务限制为仅对域中的一个或多个受管服务器可用,而不是对整个域可用。可以将资源和服务部署到选定的多个受管服务器或一个群集。
域
限制
一个 WebLogic Server 环境可以由包含承载应用程序所需的所有受管服务器的单一域组成,也可以由多个域组成。可以选择创建由组织单元、系统管理员职责、应用程序边界或其他注意事项划分的多个域。在设计域配置时,请注意下列限制:
- 每个域都需要它自己的管理服务器来执行管理活动。在使用管理控制台执行管理和监视任务时,可以在两个域之间来回切换,但进行此操作时会连接到不同的管理服务器。
- 群集中的所有受管服务器必须都驻留在同一域中;不能将一个群集拆分到多个域中。
- 域中的所有受管服务器都必须运行同一版本的 WebLogic Server 软件。管理服务器可以运行与域中的受管服务器相同的版本,也可以运行较高版本的 Service Pack。
如果创建了多个域,则每个域必须引用其自己的数据库 Schema。不能在域之间共享配置的资源或子系统。例如,如果在一个域中创建了 JDBC 连接缓冲池,则不能将其用于另一个域中的受管服务器或群集。而是必须在另一个域中创建类似的连接缓冲池。此外,两个或多个系统资源不能使用同一名称。