ibm mq - When to choose a remote queue design versus local queue for get/put activities -


i'm trying figure out under conditions want implement remote queue versus local 1 2 endpoint applications.

consider scenario: app a on server a needs send messages app b on server b via mqserver1.

it seems simplest configuration create single local queue on mqserver1 , configure appa put messages local queue while configuring appb messages same local queue. both appa , appb connect same queue manager execute different commands.

what sort of circumstances require need install mq server (e.g. mqserver2) , configure remote queue on mqserver1 instead sends messages appa on channel local queue on mqserver2 consumed appb?

i believe understand benefit of remote queuing i'm not sure when it's best used on more simpler design.

here problems call simpler design don't have remote queuing:-

  • time independance - server1 has available time, whereas remote queue, once messages have been moved server b, server , server 1 don't need online when app b wants messages.
  • network efficiency - 2 client applications putting or getting central queue, have 2 inefficient network hops, instead of 1 efficient channel batched network connection server server b (no need server 1 in middle)
  • network problems - no network, no messages. whereas when stored locally, have arrived can processed while network down. likewise, application putting messages not held network problem, messages sit on transmit queue easy moved, , application can on next thing.

of course applications should written aren't aware of difference, , it's configuration changes switch 1 design other.


Comments