When you design the
WebSphere MQ network
that underlies your
WebSphere
Business Integration Event Broker broker domain,
consider whether to use clusters.
Queue manager clusters bring two significant
benefits:
- Reduced system administration
Clusters need fewer definitions to establish
a network; you can set up and change your network more quickly and easily.
- Increased availability and workload balancing
You can benefit by defining
instances of the same queue to more than one queue manager, thus distributing
the workload through the cluster.
If you use clusters with WebSphere
Business Integration Event Broker,
consider the following:
- For SYSTEM.BROKER queues:
- The SYSTEM.BROKER queues are defined for you when you create WebSphere
Business Integration Event Broker components,
and are not defined as cluster queues. Do not change this attribute.
- For broker, Configuration Manager, and User Name Server connectivity:
- If you define the queue managers that support your brokers, the Configuration Manager,
and the User Name Server to a cluster, you can benefit
from the simplified administration provided by WebSphere MQ clusters.
You might find this particularly relevant for the brokers in a collective,
which must all have WebSphere MQ interconnections.
- For message flow input queues:
- If you define an input queue as a cluster queue, consider the implications
for the order of messages or the segments of a segmented message. The implications
are the same as they are for any WebSphere MQ cluster
queue. In particular, the application must ensure that, if it is sending segmented
messages, all segments are processed by the same target queue, and therefore
by the same instance of the message flow at the same broker.
- For message flow output queues:
-
- WebSphere
Business Integration Event Broker always specifies MQOO_BIND_AS_Q_DEF
when it opens a queue for output. If you expect segmented messages to be put
to an output queue, or want a series of messages to be handled by the same
process, you must specify DEFBIND(OPEN) when you define that queue. This ensures
that all segments of a single message, or all messages within a sequence,
are put to the same target queue and are processed by the same instance of
the receiving application.
- If you create your own output nodes, specify MQOO_BIND_AS_Q_DEF when you
open the output queue, and DEFBIND(OPEN) when you define the queue, if you
need to guarantee message order, or to ensure a single target for segmented
messages.
- For publish/subscribe:
-
- If the target queue for a publication is a cluster queue, you must deploy
the publish/subscribe message flow to all the brokers
on queue managers in the cluster. However, the cluster does not provide any
of the failover function to the broker domain topology and function. If a
broker to which a message is published, or a subscriber registers, is unavailable,
the distribution of the publication or registration is not taken over by another
broker.
- When a client registers a subscription with a broker running on a queue
manager that is a member of a cluster, the broker forwards a proxy registration
to its neighbors within the broker domain; the registration details
are not advertised to other members of the cluster.
To understand clusters, and the implications of using cluster
queues, see the WebSphere MQ Queue Manager
Clusters book.