Home
Separating message flows
In a distributed-queuing environment, the need to separate messages to the same queue manager into different message flows can arise for a number of reasons. For example:
- You may need to provide a separate flow for very large, medium, and small messages. This also applies in a clustering environment and, in this case, you may create clusters that overlap. There are a number of reasons you might do this, for example:
- To allow different organizations to have their own administration.
- To allow independent applications to be administered separately.
- To create a class of service. For example you could have a cluster called STAFF that is a subset of the cluster called STUDENTS. When you put a message to a queue advertised in the STAFF cluster, a restricted channel is used. When you put a message to a queue advertised in the STUDENTS cluster, either a general channel or a restricted channel may be used.
- To create test and production environments.
- It may be necessary to route incoming messages via different paths from the path of the locally generated messages.
- Your installation may require to schedule the movement of messages at certain times (for example, overnight) and the messages then need to be stored in reserved queues until scheduled.
Figure 1. Separating messages flows
In the example shown in Figure 1, the two incoming flows are to alias queue manager names ‘QMC_small’ and ‘QMC_large’. You provide these flows with a queue manager alias definition to capture these flows for the local queue manager. You have an application addressing two remote queues and we need these message flows to be kept separate. You provide two remote queue definitions that specify the same location, ‘QMC’, but specify different transmission queues. This keeps the flows separate, and nothing extra is needed at the far end as they have the same destination queue manager name in the transmission headers. You provide:
- The incoming channel definitions
- The two remote queue definitions QB_small and QB_large
- The two queue manager alias definitions QMC_small and QMC_large
- The three sending channel definitions
- Three transmission queues: TX_small, TX_large, and TX_external
Coordination with adjacent systems
When you use a queue manager alias to create a separate message flow, you need to coordinate this activity with the system administrator at the remote end of the message channel to ensure that the corresponding queue manager alias is available there.
Parent topic:
WebSphere MQ distributed-messaging techniques
ic10910_
Home