配置 WCF 代理节点

使用面向服务的体系结构(SOA)编程模型,解决方案开发人员和架构师可以开发高性能计算(HPC),支持群集的交互式应用程序,以实现分布式计算方案。 若要将 SOA 应用程序用于群集,必须将至少一个节点配置为 Windows Communication Foundation (WCF) 中转站节点。 代理节点必须能够与客户端应用程序和计算节点通信(有关 SOA 作业在群集上工作的详细信息,请参阅 SOA 作业)。

本主题包括:

WCF 中转站节点基础知识

可以将头节点用作代理节点,也可以将一个或多个节点部署为代理节点。 代理节点监视和管理会话,并协调 SOA 客户端和服务主机之间的服务请求和响应。

重要

WCF 代理节点只能用于管理 SOA 会话(如果它们处于 Online 节点状态)。

注意

若要将头节点用作代理节点,必须将头节点引入 Online 节点状态。 默认情况下,将头节点 联机时,它还将开始充当计算节点。 可以使用 更改节点角色 操作来禁用计算节点功能。 有关更改节点角色的信息,请参阅 缩放代理节点

若要作为 WCF 代理节点执行,服务器必须满足以下要求:

中转站节点模板

若要向群集添加新代理节点,需要创建代理节点模板。 当头节点检测到网络上的新节点时,节点将显示在“节点管理”视图中的 HPC 群集管理器中。 群集管理员通过分配节点模板批准节点并将其加入群集。

可以使用 HPC 群集管理器中的节点模板向导来创建代理节点、计算节点或工作站节点模板。 分配模板后,会自动启用相应的节点角色。

如果要从裸机部署代理节点,可以创建包含关联操作系统映像的中转站节点模板。 如果要添加已配置为代理节点的服务器,可以创建不包含关联操作系统映像的中转站节点模板。 有关详细信息,请参阅 节点模板

预配置代理节点

可以直接在服务器上安装 Microsoft HPC Pack,以创建预配置的中转站节点。 服务器必须安装受支持的 64 位版本的 Windows Server 操作系统。

首次在服务器上安装 HPC Pack 时,可以选择设置头节点、计算节点或代理节点。 在向导中所做的选择决定了节点上安装的功能。 通过创建代理节点来选择加入群集的选项时,安装向导包括一个步骤来指定群集的头节点。

安装完成后,新节点会显示在“节点管理”列表视图中,作为 未知 状态的 WCF 代理节点。 然后,可以通过分配不包含操作系统映像的中转站节点模板来批准该节点并将其添加到群集。

持久会话和 MSMQ

当 SOA 客户端使用持久会话 API 在群集上创建会话时,中转站节点使用消息队列(MSMQ)存储消息。 代理存储的响应可以随时由客户端检索,即使在有意或无意断开连接之后也是如此。 默认情况下,MSMQ 存储限制为 8 GB。 根据群集上运行的消息大小和持久会话数,可以修改记录保留期或增加此限制。 持久会话消息使用的磁盘空间量可以估计如下:

所需的磁盘空间 = (请求数 x 请求大小) + (响应数 x 请求大小)

在 HPC 群集管理器中,可以通过向节点列表视图添加列或为 Durable Queues Total Bytes可用磁盘空间 指标创建热度映射页来监视消息队列总大小(请求和响应)和可用磁盘空间。

可以在 功能下调整 服务器管理器 中代理节点上的消息队列限制。 右键单击 消息队列,然后单击 属性 修改存储限制,如以下屏幕截图所示:

在服务器管理器功能中 编辑消息队列

在正常操作期间,以以下方式从 MSMQ 中删除消息:

  • SOA 客户端可能导致 MSMQ 在关闭会话时删除与其会话关联的消息。

  • 与完成会话关联的消息在作业计划程序配置选项的作业历史记录设置中指定的天数后,会自动从 MSMQ 中删除。 默认情况下,已完成会话的记录将保留五天。 另请参阅 了解作业历史记录

限制代理节点上的并发会话数

可以限制代理节点上的并发会话数。 达到定义的限制时,SOA 客户端尝试连接时将发生以下情况:

  • 新会话:SOA 客户端尝试下一个代理节点。 如果所有中转站节点都已满,会话创建将失败。

  • 附加到会话:附加操作会立即失败,因为管理指定会话的中转站节点已处于容量状态。

若要设置限制,可以编辑每个中转站节点上 HpcbBoker.exe.config 文件中 MaxConcurrentSession 属性的值。 此文件位于 %CCP_HOME%Bin 文件夹中。 MaxConcurrentSession 的默认值为 0,这意味着该设置已禁用,如以下 XML 代码片段所示:

  <userSettings>  
    <Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>  
      <setting name="MaxConcurrentSession" serializeAs="String">  
        <value>0</value>  
      </setting>  
    </Microsoft.Hpc.Scheduler.Session.Internal.BrokerLauncher.BrokerLauncherSettings>  
  </userSettings>  
  

缩放代理节点

通过更改节点角色,可以根据当前需求轻松缩放计算节点和 WCF 代理节点。 当节点包含多个角色的功能时,可以在 HPC 群集管理器中启用和禁用节点角色。 将节点部署为代理节点时,节点包括代理节点角色和计算节点角色的功能。 有关详细信息,请参阅 了解 Microsoft HPC Pack中的节点角色。

以下过程介绍如何启用 WCF 中转站节点角色:

启用 WCF 代理节点角色

  1. 节点管理中,在 导航窗格中,单击 节点

  2. 在视图窗格中,右键单击节点,然后单击 脱机

  3. 在“脱机节点 对话框中,单击”是“。 查看视图窗格中的节点状态,并等到节点的状态已更改为 脱机,然后再转到下一步。

  4. 在视图窗格中,右键单击节点,然后单击 更改角色

  5. 更改节点角色 对话框中,选择 WCF 中转站节点,然后单击“确定”

  6. 在视图窗格中,右键单击节点,然后单击 联机

  7. 导航窗格节点下,在“按组”下,单击 WCFBrokerNodes。 确认配置的节点显示在列表中。

其他注意事项

  • 可以针对 SOA 工作负荷优化作业计划程序资源分配策略。 有关详细信息,请参阅 了解策略配置

  • 开发人员创建服务 DLL、服务配置文件和客户端应用程序。 管理员将服务 DLL 复制到群集上的计算节点,并通过将服务配置文件放置在头节点上来注册服务。 有关部署和配置 SOA 服务的信息,请参阅 管理 Microsoft HPC Pack中的 SOA 服务。

  • 服务配置文件可用于自定义中转站与特定服务交互的方式。 例如,可以在单个服务级别定义中转站行为,例如监视、消息限制和负载均衡。 有关详细信息,请参阅 SOA 应用程序、基础结构和管理

  • 客户端应用程序为最终用户提供接口,在后端,客户端应用程序向群集提交 SOA 作业,启动与中转站节点的会话,并发送服务请求并接收响应。 最终用户在其计算机上运行应用程序,群集节点上执行计算。 会话 ID 对应于作业 ID。

  • 有关 WCF 代理节点和 SOA 应用程序的详细信息,请参阅 SOA 应用程序、基础结构和管理 白皮书。

  • 有关使用 HPC 群集管理器的信息,请参阅 HPC 群集管理器概述。

其他参考