Author |
Message
|
Ching |
Posted: Tue Feb 24, 2009 1:18 pm Post subject: Multiple input queues in a message flow |
|
|
 Apprentice
Joined: 08 Nov 2004 Posts: 25 Location: Portland, OR
|
Is there anything adverse (performance, administrative, etc) to using multiple input queues in a message flow? (Ie 30 input queues?)
We are designing a message flow that simply routes data (untransformed). The flow uses the information extracted from Root.MQMD.SourceQueue. A table is used to determine the queue the data is eventually going to land on.
Thanks for your comments.
Ching |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Feb 24, 2009 1:25 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Unless you're on 6.1, you won't have as tight control over additional instances with 30 input nodes in one flow as you will have with 30 flows with one input node.
If you're really doing the same logic to 30 different queues, you can look either at using QALIASes or doing one of various things to deploy the same one-input node flow 30 times. |
|
Back to top |
|
 |
Ching |
Posted: Tue Feb 24, 2009 1:33 pm Post subject: |
|
|
 Apprentice
Joined: 08 Nov 2004 Posts: 25 Location: Portland, OR
|
Thanks for the speedy response Jeff. Yeah, we are on MB6.1. I'm trying to put together pros and cons for this approach. (Using multiple input queues) I'm trying to convince all the parties that is method is not very good.
Actually, the router that I'm designing is using the MQMD applIdentityData to route the messages. I'm asking that the sending applications populate the MQMD, and my flow will extract the data and route accordingly. If they are changes required, all we'd need to do is update a table, and not have to redeploy the message flow.
We've faced oppostion with the sending application teams because they don't want to make coding changes on their side.
Any opinions?
Thx |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Feb 24, 2009 1:56 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
It's never a good idea to use the MQMD to make business decisions...
In 6.1, you can set threadpools on individual MQInput nodes, so you get more control that way over additional instances to meet demand of particular "routes" through your flow... but again it may simply be better to deploy the "same" flow 30 times with different runtime configuration.
Ideally, of course, the messages from each of your inputs is unique enough on it's own that you can route it without needing to change the sender.
If it's not, you can still deploy a small flow between sender and router that adds static information based on the known sender. And then you can route based on that, rather than any thing the sending app has done. |
|
Back to top |
|
 |
Vitor |
Posted: Tue Feb 24, 2009 2:36 pm Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
Ching wrote: |
Any opinions? |
Aside from the most excellent comments made by my associate, I'll add that it's better to use ApplIdentifyData than source queue. Using that ties you to a particular topology, ApplIdentityData is valid from any application.
Certainly if you're going to use any part of MQMD, use a part the system doesn't. Better still is to route based on message content. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Ward |
Posted: Tue Feb 24, 2009 3:39 pm Post subject: |
|
|
 Voyager
Joined: 27 Jun 2001 Posts: 98 Location: Europe
|
If you do not need to transform the message at all and just need to send the message to a different destination depending on the queue where it arrives then I wonder why you want to put a broker in the middle... an alias queue (possibly with a remote queue) will do just this. Changing it will not be a database change but a runmqsc script... _________________ IBM Certified Solution Designer -- WebSphere MQ V6.0
IBM Certified Solution Developer - WebSphere Message Broker V6.0
----------------------------
Visit Boat Dimensions |
|
Back to top |
|
 |
zpat |
Posted: Tue Feb 24, 2009 11:05 pm Post subject: |
|
|
 Jedi Council
Joined: 19 May 2001 Posts: 5866 Location: UK
|
Each MQinput node in a message flow results in another copy of the message flow being executed at the same time.
This will consume memory resources and queue manager resources, however it should be OK in moderation. |
|
Back to top |
|
 |
|