![[AIX Solaris HP-UX Linux Windows]](../images/dist.gif)
![[z/OS]](../images/ngzos.gif)
IIOP 和 JMS 请求流优先级划分功能概述
因特网 ORB 间协议 (IIOP) 和 Java™ 消息服务 (JMS) 请求流优先级划分功能通过可控制请求流、请求优先级划分功能和动态工作负载管理的自主管理器来实现。Intelligent Management IIOP 自主请求流管理 (ARFM) 仅为来自独立 Enterprise JavaBeans (EJB) 客户机的 IIOP 请求划分优先级。不会为来自 servlet、Web Service 或其他 EJB 中所嵌入 EJB 客户机的 IIOP 请求划分优先级。存在此行为的原因是,不得在多个层(例如 Web 层和 EJB 层)为与同一总体用户请求关联的流量划分优先级。但是,如果是特征为异步的 JMS,那么对发起请求的位置没有任何限制。
对于 IIOP 和 JMS,主管应用程序的后端应用程序服务器进程运行自主请求流管理器 (ARFM) 网关。这些 ARFM 网关划分请求流的优先级。管理请求流的目的是为了在所配置服务策略和所提供负载的前提下实现性能最佳均衡效果。
借助 Intelligent Management,可以定义性能目标并将其与入局流量的特定子集相绑定。ARFM 及相关联的自主管理器能够在高负载的情况下,通过对进入应用程序服务器的工作做出智能决策来支持业务目标。并不是配置中的所有工作都同等创建。ARFM 能够通过调节转发要执行的不同请求流的速度来支持此概念,从而实现最佳均衡效果。
服务策略是一个用户定义的分类,作为由 ARFM 读取的属性指定给潜在工作。对于 IIOP,您可以使用服务策略根据包括应用程序名称、EJB 方法名、EJB 模块名(如 EJB JAR 文件)和 EJB 名称等在内的请求属性对请求进行分类。对于 JMS,您可以根据目标名称对主题或队列进行分类。通过配置服务策略,可以对实际工作应用不同的重要性级别。您可以使用多个服务策略根据不同的请求类别来提供差别服务。服务策略目标可以按性能目标以及重要性进行区分。
ARFM 存在于应用程序服务器进程中,可控制请求优先级划分功能。自主请求流管理器包含两部分:控制器和网关。对于每个单元而言,通过控制器以及应用程序服务器中的网关集合来实现 ARFM 功能。网关将截获入局 IIOP 请求并对其进行排队,而控制器将向网关和布置控制器发出控制信号或指令。另外,ARFM 还包括对不同请求流的可计算负载特征进行评估的工作概要分析程序。这些组件协同工作,从而可以正确地划分入局请求的优先级。
动态工作负载管理器 (DWLM) 是一个功能部件,该功能部件所遵循的原理与工作负载管理器 (WLM) 所遵循的原理一样,例如,基于权重系统(可创建划分优先级的路由系统)的路由。DWLM 是一个可选附件,它对 WLM 添加路由权重的自主设置。借助 WLM,可以在管理控制台中手动设置静态权重。借助 DWLM,系统可动态修改权重以便与业务目标保持同步。可以关闭 DWLM。如果打算对动态操作的组件使用自动操作方式,那么对任意动态集群设置静态 WLM 权重都会造成干扰,致使产品随需应变方面的功能不能正常工作。对于 IIOP,这些权重由基本 WebSphere® EJB WLM 和新的 EJB 客户机请求所定向至的因子使用,如下图所示:

DWLM 不影响 JMS 流量。下图中显示的目标可以在同一 WebSphere 受管进程中运行,也可以在不同的 WebSphere 受管进程中运行。

如上图所描述的那样,等量的请求流入了应用程序服务器,但对工作进行分类、划分优先级和排队后,将发出量更大、重要性更高的白金级工作进行处理,而量更小、重要性更低的铜牌级工作则将等待排队。但是,正因为优先级较低的工作延迟了极长时间,所以从长期看来,并没有使在应用程序服务器中运行的铜牌级工作的平均速率小于进入的铜牌级请求的平均速率。最终,动态操作的功能会尝试使工作在所分配目标时间内完成。