服务集成的匹配条件
匹配条件是策略定义中一个或多个名称/值对的集合。使用匹配条件将策略绑定至特定消息传递引擎或一组消息传递引擎。为此,配置策略的匹配条件以匹配希望由策略管理的高可用性组 HAGroup(即,包含消息传递引擎的 HAGroup)的属性。
名称 | 值 | 策略匹配的消息传递引擎 |
---|---|---|
type | WSAF_SIB | 任何消息传递引擎 |
WSAF_SIB_MESSAGING_ENGINE | 消息传递引擎的名称。对于服务器中的消息传递引擎,它为 node.server-bus 格式,对于集群中的消息传递引擎,它为 cluster.number-bus 格式,其中 number 与消息传递引擎添加至总线的顺序有关(将集群添加至总线时创建的第一个消息传递引擎的编号为 000)。 | 特定消息传递引擎 |
WSAF_SIB_BUS | 总线的名称 | 特定总线中的所有消息传递引擎 |
IBM_hc | 集群的名称 | 特定集群中的所有消息传递引擎 |
通过使用匹配条件,可将策略与所有消息传递引擎、指定总线上的所有消息传递引擎、特定集群中的所有消息传递引擎或具有指定名称的单个消息传递引擎相关联。
最常见的策略是与产品包括在一起的缺省策略,即“缺省 SIBus 策略”。此策略具有单个匹配条件:type=WSAF_SIB。此策略匹配与其匹配度最强的任何消息传递引擎。
对于要指定给 HAGroup 的策略,所有策略条件必须匹配。可指定多个匹配条件;匹配的条件越多,匹配度越强。这些条件在逻辑上组合到一起,并且是针对可与消息传递引擎 HAGroup 匹配的策略集合的有效过滤条件。如果某个策略的任何匹配条件与其中一个 HAGroup 属性不匹配,那么该策略不能与该 HAGroup 匹配。
例如,如果添加要求 HAGroup 具有 WSAF_SIB_BUS=MyBus 属性的匹配条件,那么会将策略限制为仅与名为 MyBus 的总线上的消息传递引擎匹配。
或者,如果添加要求 HAGroup 具有 WSAF_SIB_MESSAGING_ENGINE=MyCluster.002-MyBus 属性的匹配条件,那么会将策略限制为仅与名为 MyCluster.002-MyBus 的消息传递引擎匹配。
可使用 IBM_hc 匹配条件对位于同一服务器集群中的资源(不必为同一类型)使用同一策略。
注意不要配置逻辑上不可能的条件组合。例如,如果指定不存在的总线,或命名不存在的消息传递引擎,那么该策略不能与任何 HAGroup 匹配。
还必须确保未定义与任何消息传递引擎的匹配项形成冲突的策略。如果消息传递引擎与多个策略的匹配强度相同,那么表示存在不能解决的冲突,会发生错误。
每个消息传递引擎与“缺省 SIBus 策略”匹配一次。因此,定义另一策略并指定匹配条件时,应指定多个匹配条件以确保这些匹配条件形成的匹配度比“缺省 SIBus 策略”形成的匹配度更强。
例如,要将策略与总线上的所有消息传递引擎相关联,请对策略指定匹配条件 type=WSAF_SIB 和 WSAF_SIB_BUS=bus_name。总线上的所有消息传递引擎与策略中指定的条件匹配两次。因此,策略具有最强匹配,并且与这些消息传递引擎相关联,同时与“缺省 SIBus 策略”没有冲突。
- “缺省 SIBus 策略”指定匹配条件 type=WSAF_SIB。
- 要将策略与总线上的所有消息传递引擎相关联,请对策略指定匹配条件 type=WSAF_SIB 和 WSAF_SIB_BUS=bus_name。
- 要将策略与集群中的所有消息传递引擎相关联,请对策略指定匹配条件 type=WSAF_SIB、WSAF_SIB_BUS=bus_name 和 IBM_hc=cluster_name。
- 要将策略与特定消息传递引擎相关联,请对策略指定匹配条件 type=WSAF_SIB、WSAF_SIB_BUS=bus_name、IBM_hc=cluster_name 和 WSAF_SIB_MESSAGING_ENGINE=messaging_engine_name。