集群:最大消息数行为

为防止 Max Messages Behavior 属性中指定的操作引发问题,请确保系统中有足够的内存可用,并且在 Max Messages 属性中指定永远不会实现 Max Messages Behavior 的值。

在集群中,Reject New Messages 行为用于指示如果消息从远程服务器转发而来,那么不应废弃这些消息;会将这些消息排队,尽管此操作可能意味着超过了消息传递策略的 Max Messages 属性中指定的限制。如果消息在本地进行发布,并且预订具有 Reject New Messages 行为,那么本地发布和转发将会失败,就像在非集群环境中一样。

在与预订相同的服务器上发布消息时,该服务器会知道该预订所使用的行为,并且如果指定了 Reject New Messages,那么在某个订户已达到其 Max Messages 限制时,发布将失败。

但是,在集群中,如果远程服务器上发布了消息,用于指示该消息应转发到集群中另一服务器的信息将受到限制;该远程服务器只知道集群中其他一个或多个服务器上的一个或多个订户对此主题感兴趣而已。在此情况下,该消息可能会转发到某个服务器,并发布到由于已达到其 Max Messages 限制而会拒绝该消息的某些订户,从而导致原始发布失败。但是,该消息也可能成功发布到没有达到其 Max Messages 限制的其他订户,因此发布操作成功,而不会失败。产生的滞留消息不能转发到已达到其 Max Messages 限制的订户,并会阻止转发后续消息。

为避免积压超过 Max Messages 限制最初指定数量的消息,请考虑仅针对必须接收在集群中为其发布的所有消息的特定应用程序指定 Reject New Messages。指定 Discard Old Messages 以确保将最新消息传递给订户,同时将其消息积压大小保持在最低值。




反馈

时间戳记图标 最近一次更新时间: 2017 年 9 月 28 日
http://pic.dhe.ibm.com/infocenter/ism/v1r0m0/com.ibm.ism.doc/Planning/clusteringmsgpolicyconsiderations.html