High availability for multicast

Use this information to understand IBM® MQ Multicast continuous peer-to-peer operation; although IBM MQ connects to an IBM MQ queue manager, messages do not flow through that queue manager.

Although a connection to a queue manager must be made in order to MQOPEN or MQSUB the multicast topic object, the messages themselves do not flow through the queue manager. Therefore, after the MQOPEN or MQSUB is completed on the multicast topic object, it is possible to continue transmitting multicast messages even if the connection to the queue manager has been lost. There are two modes of operation:
A normal connection is made to the queue manager
Multicast communication is possible while the connection to the queue manager exists. If the connection fails, the normal MQI rules are applied, for example; an MQPUT to the multicast object handle returns 2009 (07D9) (RC2009): MQRC_CONNECTION_BROKEN.
A reconnecting client connection is made to the queue manager
Multicast communication is possible even during the reconnection cycle. This means that even when the connection to the queue manager has been broken, the putting and consuming of multicast messages is not affected. The client attempts to reconnect to a queue manager, and if that reconnection fails, the connection handle becomes broken and all MQI calls, including multicast ones, fail. For more information, see: Automatic client reconnection
If any application explicitly issues an MQDISC, then all multicast subscriptions and object handles are closed.

Multicast continuous peer-to-peer operation

One of the advantages of peer-to-peer communication between the clients is that the messages do not need to flow through the queue manager; therefore if the connection to the queue manager breaks, message transfer continues. The following restrictions apply to the continuous message requirements of this mode:
  • The connection must be made using one of the MQCNO_RECONNECT_* options for continuous operation. This process means that although the communications session might be broken, the actual connection handle is not broken, and is in the reconnecting state instead. If reconnection fails, the connection handle is now broken which prevents all further MQI calls.
  • Only MQPUT, MQGET, MQINQ, and Async Consume are supported in this mode. Any MQOPEN, MQCLOSE, or MQDISC verbs require reconnection to the queue manager to complete.
  • Status flows to the queue manager stop; any state in the queue manager might therefore be stale or missing. This means that the clients might be sending and receiving messages and there is no status known on the queue manager. For more information, see: Multicast application monitoring