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 » Could we have two gateways load balanced automatically?

Post new topic  Reply to topic
 Could we have two gateways load balanced automatically? « View previous topic :: View next topic » 
Author Message
issac
PostPosted: Wed May 29, 2013 3:58 am    Post subject: Could we have two gateways load balanced automatically? Reply with quote

Disciple

Joined: 02 Oct 2008
Posts: 158
Location: Shanghai

Hello,

The scenario is my company has set up a second data center. We plan to have two data centers running at the same time, and hosting two sets of identical systems.

We plan to make each individual system share the same cluster. For example, if there's a system A in Data Center I, qmgrs of A in Data Center II will be in the same cluster.

So we need two gateways to guarantee the availability in case Data Center I suffers serious geographical disasters. Each for one data center.

Here comes the problem. We have message broker running as the ESB. Previously it works for Data Center I only. For example it would route some msg to system A, but now we want it to route part of the request messages, which would previously go to system A in Data Center I, to system A in Data Center II. It's just for the load-balancing purpose.

We could modify MB's ESQL to make it happen. But is there an elegant way to make use of the added gateway in Data Center II without having to change MB's code, instead just by making configurations in WMQ?

This is a long post. Thanks in advance.

_________________
Bazinga!
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed May 29, 2013 4:21 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

http://www.ibm.com/developerworks/websphere/library/techarticles/1303_broadhurst/1303_broadhurst.html
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed May 29, 2013 4:50 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

issac,
Can you provide some example server names, what datacenter they are in, their QM names, what cluster(s) they are in, where the clustered queues are. Without a whiteboard to help us a better description of your topology will allow a better dialouge.
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
issac
PostPosted: Wed May 29, 2013 5:47 am    Post subject: Reply with quote

Disciple

Joined: 02 Oct 2008
Posts: 158
Location: Shanghai

Thanks for the article. Figure 9 suites my scenario best. However, it would require lots of app change. It would be more preferable if we could avoid app changes.

The topology is like this:


Quote:


DATA CENTER I | DATA CENTER II
(requester applications) |
| |
| |
\|/ |
------------------------------------------------
ESB (Message Broker)
(to receive Response: Q.A.RES
to send requests: REMOTEQ.A.REQ)
------------------------------------------------
MQAGW1 | MQAGW2
|
MQAAPP1 MQAAPP2 | MQAPP3 MQAAPP4
(to receive request:
Q.ESB.REQ Q.ESB.REQ
to send response:
REMOTEQ.ESB.RES REMOTEQ.ESB.RES)



Requester applications and ESB itself reside in data center I only. Now we have two set of identical system A, one in Data Center I, and the other is in Data Center II.

We have set up a large cluster, namely CLUSTER1, which consists MQAGW1, MQAGW2, MQAAPP1-4.

MQAAPP1, MQAAPP2, MQAGW1 are in Data Center I;
MQAAPP3, MQAAPP4, MQAGW2 are in Data Center II;

When MB sends request, it puts to REMOTEQ.A.REQ, which would transmit it to Q.ESB.REQ of the CLUSTER1. Q.ESB.REQ is a cluster queue, too.

The system A would process that message, and writes it back to REMOTEQ.ESB.RES, which is clustered too. This remote queue would transmit the response message to MB's queue Q.A.RES.

For now the machinesm exists for Data Center I only.

Now we plan to put Data Center II into production, which brings up MQAGW2. MB does not know about the new gateway MQAGW2. All it knows is to put msg into REMOTEQ.A.REQ. We are trying to load-balance between MQAGW1 and MQAGW2, while trying our best not to ask developers to change codes for both MB and app developers.

The reason for us to try to use both MQAGW1 and MQAGW2 is to avoid geographical disasters, in which case one gateway would fail but the other survives.

Hope this doesn't sound ridiculous. [/code]
_________________
Bazinga!
Back to top
View user's profile Send private message
mqjeff
PostPosted: Wed May 29, 2013 6:01 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

So you would typically send requests to a clustered queue destination, that would load-balance the request across available service provider instances.

The request itself would identify the specific queue manager that was being used by the requester application, such that the requesting application will always only receive responses to requests it actually sent.

That is, the request message from MB A would set the ReplyToQueueManager of the request message to A (the name of it's queue manager), and the request message from MB B would set the replytoqm field to the B queue manager.
Back to top
View user's profile Send private message
PeterPotkay
PostPosted: Wed May 29, 2013 7:58 am    Post subject: Reply with quote

Poobah

Joined: 15 May 2001
Posts: 7717

What is MQAGW1 and MQAGW2?
Are the queue managers that host the WMB Brokers that make up the ESB in the same MQ Cluster, or do the Broker QMs use point to point channels to get to the MQAGW1 Queue Manager?
_________________
Peter Potkay
Keep Calm and MQ On
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Wed May 29, 2013 12:38 pm    Post subject: Reply with quote

Grand High Poobah

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

Be more specific on your definition of gateways.
If you mean qmgrs that will route traffic to a destination outside the cluster, then yes that is possible. You will have to understand in detail how routing and name resolution worksl...

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » Could we have two gateways load balanced automatically?
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.