Sun Java System Application Server 9.1 部署规划指南

第 3 章 选择拓扑

在按照第 1 章,产品概念中的所述估计与性能相关的因素后,请为 Application Server 选择拓扑。拓扑是指计算机、Application Server 实例、HADB 节点以及这三者之间的通信流的排列方式。

共有两种基本的部署拓扑。两种拓扑具有一些通用的构件:群集中的多个 Application Server 实例、一组镜像 HADB 节点以及 HADB 备用节点。两种拓扑都需要一组通用的配置设置才能正常工作。

本章讨论了以下内容:

通用要求

本节介绍了两种拓扑的通用要求:

一般要求

两种拓扑必须满足以下一般要求:

HADB 节点和计算机

每个 DRU 包含完整的 HADB 数据副本;如果一个 DRU 变得不可用,另一个 DRU 可以继续处理请求。但是,如果某个 DRU 中的节点及其在另一个 DRU 中的镜像同时出现故障,则会丢失一部分数据。为此,在设置系统时,请务必确保两个 DRU 不会受到单个故障的影响,例如电源故障或磁盘故障。


注 –

每个 DRU 必须在完全独立的冗余系统上运行。


在设置 HADB 节点和计算机时,请遵循以下准则:


注意 – 注意 –

不要在同一台计算机上运行来自不同 DRU 的节点。如果必须在同一台计算机上运行来自不同 DRU 的节点,请确保计算机可以处理任何单点故障(与磁盘、内存、CPU、电源和操作系统崩溃等相关的故障)。


负载平衡器配置

两种拓扑均将 Application Server 实例放在群集中。这些实例将会话信息永久保留到 HADB 中。请将负载平衡器配置为包含群集中所有 Application Server 实例的配置信息。

有关建立群集以及在群集中添加 Application Server 实例的更多信息,请参见《Sun Java System Application Server 9.1 高可用性管理指南》中的第 6  章 “使用 Application Server 群集”

同位拓扑

同位拓扑中,Application Server 实例和 HADB 节点位于同一台计算机上(因此称为同位)。这种拓扑需要的计算机数量比分层拓扑少。同位拓扑可以更有效地使用 CPU:Application Server 实例和 HADB 节点位于同一台计算机上,并在它们之间平均分配处理负载。

这种拓扑最少需要两台计算机。要提高吞吐量,请成对添加计算机。


注 –

同位拓扑非常适于大型对称多重处理 (Symmetric Multiprocessing, SMP) 计算机,因为您可以充分利用这些计算机的处理能力。


示例配置

下图展示了一个示例同位拓扑配置。

图 3–1 示例同位拓扑

示例同位拓扑

计算机 SYS0 承载 Application Server 实例 A,计算机 SYS1 承载 Application Server 实例 B,计算机 SYS2 承载 Application Server 实例 C,计算机 SYS3 承载 Application Server 实例 D。

这四个实例组成一个群集,用于将信息永久保留到两个 DRU 上:

同位拓扑的变化形式

要获得更好的可伸缩性和更大的吞吐量,请添加更多的计算机以增加 Application Server 实例和 HADB 节点数。例如,您可以添加两台计算机,每台计算机包含一个 Application Server 实例和一个 HADB 节点。请确保成对添加 HADB 节点,并为每个 DRU 分配一个节点。同位拓扑的变化形式对这种配置进行了说明。

图 3–2 同位拓扑的变化形式

同位拓扑的变化形式

在这种变化形式中,在示例配置所述的同位拓扑中添加了计算机 SYS4 和 SYS5。

Application Server 实例的承载方式如下:

这些实例组成一个群集,用于将信息永久保留到两个 DRU 上:

分层拓扑

在这种拓扑中,Application Server 实例和 HADB 节点位于不同的计算机上(因此称为分层)。

这种拓扑需要的硬件比同位拓扑多。如果使用不同类型的计算机,这种拓扑可能会比较适合:您可以分配一组计算机来承载 Application Server 实例,而分配另一组计算机来承载 HADB 节点。例如,可以为 Application Server 实例配备功能较强的计算机,而为 HADB 配备功能次之的计算机。

示例配置

下图展示了分层拓扑。

图 3–3 示例分层拓扑

示例分层拓扑

在这种拓扑中,计算机 SYS0 承载 Application Server 实例 A,计算机 SYS1 承载 Application Server 实例 B。这两个实例组成一个群集,用于将会话信息永久保留到两个 DRU 上:

DRU 上的所有节点位于不同的计算机上,因此,即使一台计算机出现故障,仍可在其他计算机上获得任何 DRU 的完整数据。

分层拓扑的变化形式

分层拓扑的一种变化形式是,在配置中水平添加更多的计算机以增加 Application Server 实例数。例如,通过创建一个新 Application Server 实例,在示例配置中添加另一台计算机。类似地,通过添加更多的计算机来承载 HADB 节点以增加 HADB 节点数。需要重申的是,必须成对添加 HADB 节点,每个 DRU 一个节点。

分层拓扑的变化形式对这种配置进行了说明。

图 3–4 分层拓扑的变化形式

分层拓扑的变化形式

在这种配置中,每台承载 Application Server 实例的计算机包含两个实例。因此,群集中共有六个 Application Server 实例。

HADB 节点位于计算机 SYS3、SYS4、SYS5 和 SYS6 上。

DRU0 包含两台计算机:

DRU1 包含两台计算机:

承载 HADB 节点的每台计算机承载两个节点。因此,共有八个 HADB 节点:四个活动节点和四个备用节点。

确定要使用的拓扑

要确定最符合性能和可用性要求的拓扑(或变化形式),请对拓扑进行测试并试验不同的计算机和 CPU 组合。

确定为满足目标而需要做出的折衷处理。例如,如果维护的简便性对您至关重要,则分层拓扑更适合一些。但不利的一面是,这种拓扑需要的计算机比同位拓扑多。

在选择拓扑时,一个重要因素是可用的计算机类型。如果系统包含大型对称多重处理 (Symmetric Multiprocessing, SMP) 计算机,则同位拓扑更具吸引力,因为您可以充分利用这些计算机的处理能力。如果系统包含不同类型的计算机,则分层拓扑会更有用,因为您可以为 Application Server 层和 HADB 层分配不同的计算机组。例如,您可能希望将功能较强的计算机用于 Application Server 层,而将功能次之的计算机用于 HADB 层。

拓扑比较

下表对同位拓扑和分层拓扑进行了比较。左列显示的是拓扑名称,中间列显示的是拓扑优点,右列显示的是拓扑缺点。

表 3–1 拓扑比较

拓扑 

优点 

缺点 

同位拓扑 

需要较少的计算机。由于 HADB 节点和 Application Server 实例位于同一层中,因此,您可以在每个备用节点上创建 Application Server 实例以处理额外负载。 

提高了 CPU 利用率。在位于同一台计算机上的 Application Server 实例和 HADB 节点之间平均分配处理负载。 

对于大型对称多重处理 (Symmetric Multiprocessing, SMP) 计算机非常有用,因为它可充分利用这些计算机的处理能力。 

增加了维护复杂性。例如,当需要关闭承载 HADB 节点的计算机以执行维护时,该计算机上的应用服务器实例也会变得不可用。 

分层拓扑 

易于维护。例如,无需关闭 HADB 节点便可在承载 Application Server 实例的计算机上执行维护。 

对于不同类型的计算机非常有用。可以为 Application Server 层和 HADB 层分配不同的计算机组。例如,可以将功能较强的计算机用于 Application Server 层,而将功能次之的计算机用于 HADB 层。 

需要的计算机比同位拓扑多。由于应用服务器实例和 HADB 节点位于不同的层中,因此,应用服务器实例不能位于承载 HADB 备用节点的计算机上。 

降低了 CPU 利用率。应用服务器层和 HADB 层的负载可能不均等。当计算机数较少时(4 到 6 台),此缺点会更加显著。