ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » Clustering » System Architecture

Post new topic  Reply to topic Goto page 1, 2  Next
 System Architecture « View previous topic :: View next topic » 
Author Message
mquser925
PostPosted: Wed May 14, 2008 12:43 am    Post subject: System Architecture Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

I have some questions about my cluster setup. I'm running MQ V6.0 on RHEL.

So I have around 100 queue managers (group A) at different locations around the world that are all sending in messages. I have my central location which will receive these messages and local applications will pull some of the messages and some of the messages will be sent to a third location(group B). What do you think my best setup would be? I'm looking at creating a cluster for group A, a cluster for group B and my central location would be setup as a bridge overlapping both clusters. One other thing I don't want group A to have access to each others messages, I want only a one way link to the central location.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed May 14, 2008 2:15 am    Post subject: Re: System Architecture Reply with quote

Grand High Poobah

Joined: 18 Nov 2003
Posts: 20756
Location: LI,NY

mquser925 wrote:
One other thing I don't want group A to have access to each others messages, I want only a one way link to the central location.

In that case you need a "star" or "hub and spoke" kind of setup. You cannot use a cluster as everybody talks directly to everybody in a cluster.

You can set up point 2 point for all 100 qmgrs to the hub and back.
All you need then is for the spoke to set the xmitq to the hub as default xmitq. I.E. when unknown send to the Hub and maybe it will be able to resolve or it will go to the hub's DLQ.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mquser925
PostPosted: Wed May 14, 2008 3:21 am    Post subject: Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

So if I define a cluster of queue managers at my central location with local queues defined, can I define these local queues as remote queues for group A? As in I want the cluster defined as one entity and all messages coming in will be distributed equally among the cluster. Am I making any sense here?
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 14, 2008 3:29 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mquser925 wrote:
Am I making any sense here?


No, not really.

If you want the messages distributed over a cluster of queues in the central location I'd doubt you want remote queues specifing a specific destination in group A.

What you want (as suggested) is a hub and spoke, where the hub is a gateway to the central cluster, with the same arrangement on the "other side" to group B. Both hubs will provide alias as necessary to bridge into and out of the central cluster.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 14, 2008 3:32 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

Depending on how isolated you need everything to be, you might be able to do this with 3 overlapping clusters: one for group A, one for group B & one for the centre. The basic principle is the same as the A/B clusters would operate as hub & spoke but you'd avoid the need to define 100 point to point connections.

In any event, you'll need the hub gateway machines to be HA as they're single points of failure.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mquser925
PostPosted: Wed May 14, 2008 5:51 am    Post subject: Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

Vitor wrote:


If you want the messages distributed over a cluster of queues in the central location I'd doubt you want remote queues specifing a specific destination in group A.

What you want (as suggested) is a hub and spoke, where the hub is a gateway to the central cluster, with the same arrangement on the "other side" to group B. Both hubs will provide alias as necessary to bridge into and out of the central cluster.


Can you point me to some documentation that goes into detail about creating a hub/spoke environment and also creating a gateway? Does a gateway involve using aliases so all message traffic goes through the gateway? Wouldn't this slow down message traffic considerably?
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 14, 2008 5:57 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mquser925 wrote:
Can you point me to some documentation that goes into detail about creating a hub/spoke environment and also creating a gateway?


The Intercommunication manual describes hub & spoke, Cluster manual describes a gateway

mquser925 wrote:
Does a gateway involve using aliases so all message traffic goes through the gateway?


Yes

mquser925 wrote:
Wouldn't this slow down message traffic considerably?


Not as much as you might think, and if you're trying to segrigate traffic as you indicate you don't really have an option.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mquser925
PostPosted: Wed May 14, 2008 7:21 am    Post subject: Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

Ok so let me see if I understand this.

I define alias queues on all the group A QMs that point to the gateway QM. At the Gateway QM I then alias all the incoming traffic to the cluster? Is there any way to automatically equally distribute message traffic among the cluster?
Back to top
View user's profile Send private message
Vitor
PostPosted: Wed May 14, 2008 7:28 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mquser925 wrote:
I define alias queues on all the group A QMs that point to the gateway QM.


Or use my suggestion on clustering

mquser925 wrote:
Is there any way to automatically equally distribute message traffic among the cluster?


The gateway to the central area should achieve this to the central cluster (which, if I have your archtecture straight, is the only place you want traffic disributed).
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mquser925
PostPosted: Thu May 15, 2008 3:18 am    Post subject: Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

I am trying out a test setup, am I missing something here? I have my gateway setup on machine 15 with a cluster of 2 QMS also on machine 15.
I setup a source QM on machine 14 that will point to the gateway on machine 15 and the gateway will forward the messages to the cluster. I get a 2196 error (XMIT Q doesn't exist), also does this mean I have to create a pair of channels for each QM that I want to receive messages from at the gateway?

Creating Gateway QM
Code:

#mq script
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE GATEWAY
strmqm GATEWAY
runmqsc GATEWAY << EOF
DEFINE CHANNEL ('GATEWAY.TO.SOURCE') CHLTYPE(SDR) CONNAME('xx.xxx.x.14(2187)') XMITQ('SOURCE') TRPTYPE(TCP)
DEFINE CHANNEL ('SOURCE.TO.GATEWAY') CHLTYPE(RCVR) TRPTYPE(TCP)
DEFINE LISTENER('GATEWAY') TRPTYPE(TCP) CONTROL(QMGR) PORT(2187) REPLACE
DEFINE QREMOTE(DEMO) RNAME(' ') RQMNAME(' ')
START CHANNEL ('GATEWAY.TO.SOURCE')
START LISTENER ('GATEWAY')
EOF


Creating the source QM
Code:

#mq script
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE SOURCE
strmqm SOURCE
runmqsc SOURCE << EOF
DEFINE CHANNEL ('SOURCE.TO.GATEWAY') CHLTYPE(SDR) CONNAME('xx.xxx.x.15(2187)') XMITQ('GATEWAY') TRPTYPE(TCP)
DEFINE CHANNEL ('GATEWAY.TO.SOURCE') CHLTYPE(RCVR) TRPTYPE(TCP)
DEFINE LISTENER('SOURCE') TRPTYPE(TCP) CONTROL(QMGR) PORT(2187) REPLACE
START CHANNEL ('SOURCE.TO.GATEWAY')
START LISTENER ('SOURCE')
DEFINE QREMOTE(1.Q) RNAME(1.Q) RQMNAME(DEMO) XMITQ(GATEWAY)
EOF


Creating node1 of cluster
Code:

#mq script
QM1=NODE1
QM2=NODE2
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE $QM1
strmqm $QM1
runmqsc $QM1 << EOF
 ALTER QMGR REPOS('DEMO')
 DEFINE CHANNEL(TO.$QM1) CHLTYPE(CLUSSDR) TRPTYPE(TCP) CONNAME('xx.xxx.x.15(2188)') CLUSTER('DEMO') DESCR('TCP Cluster-sender channel from $QM1 to repository at $QM2') REPLACE
 DEFINE CHANNEL(TO.$QM2) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('xx.xxx.x.15(2189)') CLUSTER('DEMO') DESCR('TCP Cluster-receiver channel for queue manager $QM2') REPLACE
 DEFINE QLOCAL(1.Q) CLUSTER('DEMO') REPLACE
 DEFINE LISTENER ($QM1.LISTENER) TRPTYPE(TCP) CONTROL(QMGR) PORT(2188)
 START LISTENER($QM1.LISTENER)
EOF


Creating Node2 of Cluster
Code:

#mq script
QM1=NODE2
QM2=NODE1
crtmqm -u SYSTEM.DEAD.LETTER.QUEUE $QM1
strmqm $QM1
runmqsc $QM1 << EOF
 ALTER QMGR REPOS('DEMO')
 DEFINE CHANNEL(TO.$QM1) CHLTYPE(CLUSSDR) TRPTYPE(TCP) CONNAME('xx.xxx.x.15(2189)') CLUSTER('DEMO') DESCR('TCP Cluster-sender channel from $QM1 to repository at $QM2') REPLACE
 DEFINE CHANNEL(TO.$QM2) CHLTYPE(CLUSRCVR) TRPTYPE(TCP) CONNAME('xx.xxx.x.15(2188)') CLUSTER('DEMO') DESCR('TCP Cluster-receiver channel for queue manager $QM2') REPLACE
 DEFINE QLOCAL(1.Q) CLUSTER('DEMO') REPLACE
 DEFINE LISTENER ($QM1.LISTENER) TRPTYPE(TCP) CONTROL(QMGR) PORT(2189)
 START LISTENER($QM1.LISTENER)
EOF


Code:

amqsput 1.Q SOURCE (from machine 14)


Last edited by mquser925 on Sat May 17, 2008 7:48 am; edited 2 times in total
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu May 15, 2008 4:53 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mquser925 wrote:
does this mean I have to create a pair of channels for each QM that I want to receive messages from at the gateway?


Yes. Unless you cluster them as I suggested.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mquser925
PostPosted: Thu May 15, 2008 5:30 am    Post subject: Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

Vitor wrote:
mquser925 wrote:
does this mean I have to create a pair of channels for each QM that I want to receive messages from at the gateway?


Yes. Unless you cluster them as I suggested.


Oh yeah, I missed that you mentioned that. Do you see anything wrong with my setup?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu May 15, 2008 6:09 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mquser925 wrote:
Do you see anything wrong with my setup?


Aside from the missing channel / xmitq you suspected was missing, no.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
mquser925
PostPosted: Thu May 15, 2008 6:18 am    Post subject: Reply with quote

Acolyte

Joined: 22 Apr 2008
Posts: 61

Vitor wrote:
mquser925 wrote:
Do you see anything wrong with my setup?


Aside from the missing channel / xmitq you suspected was missing, no.


Isnt that xmitq created by default when the qm is created?
Back to top
View user's profile Send private message
Vitor
PostPosted: Thu May 15, 2008 6:24 am    Post subject: Reply with quote

Grand High Poobah

Joined: 11 Nov 2005
Posts: 26093
Location: Texas, USA

mquser925 wrote:
Isnt that xmitq created by default when the qm is created?


No.

Well IIRC an object called SYSTEM.DEFAULT.XMIT.QUEUE is created (though I could just have imagined that) but so is SYSTEM.DEAD.LETTER.QUEUE. Doesn't mean the queue manager has a dead letter queue unless you do an ALTER, and where would this default xmitq point? How would the system work that out?

You need to configure all this. Or cluster.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Clustering » System Architecture
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.