集群工作负载均衡-队列属性
集群工作负载均衡中使用的队列属性的字母顺序列表。
CLWLPRTY
CLWLPRTY 队列属性指定集群工作负载分发的本地队列,远程队列或别名队列的优先级。 该值必须在 0-9 范围内,其中 0 是最低优先级, 9 是最高优先级。
使用 CLWLPRTY 队列属性来设置目标队列的首选项。 IBM® MQ 先选择具有最高优先级的目标,然后再选择具有最低集群目标优先级的目标。 如果存在多个具有相同优先级的目标,那么它将选择最近最少使用的目标。
远程队列管理器的可用性取决于该队列管理器的通道状态。 当通道启动时,它们的状态会发生多次更改,其中一些状态对集群工作负载管理算法的优先级较低。 在实践中,这意味着可以在启动高优先级 (主) 目标的通道时选择低优先级 (备份) 目标。
如果需要确保没有消息转至备份目标,请勿使用 CLWLPRTY。 请考虑使用单独的队列,或者使用 CLWLRANK 从主队列到备份的手动切换。
如果有两个可能的目标,那么可以使用此属性来允许故障转移。 优先级最高的队列管理器接收请求,优先级较低的队列管理器充当保留。 如果最高优先级队列管理器失败,那么可用的下一个最高优先级队列管理器将接管。
CLWLRANK
CLWLRANK 队列属性指定集群工作负载分布的本地队列,远程队列或别名队列的列组。 该值必须在 0-9 范围内,其中 0 是最低等级, 9 是最高等级。
如果要控制发送到另一个集群中的队列管理器的消息的最终目标,请使用 CLWLRANK 队列属性。 设置 CLWLRANK时,消息将通过相互连接的集群采用指定的路由,以到达排名较高的目标。
例如,您可能定义了两个配置完全相同的网关队列管理器,以提高网关的可用性。 假设您已在网关上为集群中定义的本地队列定义了集群别名队列。 如果本地队列变得不可用,那么您打算将消息保留在其中一个网关上,以等待队列再次变为可用。 要保留网关上的队列,必须定义具有高于网关上的集群别名队列的列组的本地队列。
如果定义与队列别名具有相同列组的本地队列,并且本地队列不可用,那么消息将在网关之间传输。 当发现本地队列不可用时,第一个网关队列管理器会将消息路由到另一个网关。 另一个网关尝试再次将消息传递到目标本地队列。 如果本地队列仍然不可用,那么它会将消息路由回第一个网关。 消息将在网关之间来回移动,直到目标本地队列再次可用为止。 通过为本地队列提供更高的列组,即使队列不可用,也不会将消息重新路由到较低列组的目标。
IBM MQ 在检查通道状态之前获取队列的列组。 在检查通道状态之前获取列组意味着即使不可访问的队列也可供选择。 它允许通过网络路由消息,即使最终目标不可用也是如此。
如果使用了优先级属性 IBM MQ ,请在可用目标之间进行选择。 如果通道不可用于具有最高列组的目标,那么消息将保留在传输队列上。 当通道变为可用时,将释放此消息。 消息不会按列组顺序发送到下一个可用目标。
CLWLUSEQ
CLWLUSEQ 队列属性指定是否将队列的本地实例作为目标优先于集群中的其他实例。
- 本地
- 本地队列是 MQPUT的唯一目标,前提是已启用本地队列。 MQPUT 行为取决于 集群工作负载管理。
- QMGR
- 行为由 CLWLUSEQ 队列管理器属性指定。
- 任意
- MQPUT 将本地队列视为与集群中用于工作负载分发的任何其他队列实例相同。