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 » MQ clustering design approach

Post new topic  Reply to topic
 MQ clustering design approach « View previous topic :: View next topic » 
Author Message
mqfresher
PostPosted: Sat Dec 06, 2003 10:44 am    Post subject: MQ clustering design approach Reply with quote

Newbie

Joined: 06 Dec 2003
Posts: 4



Hi ,

I am new to MQ series. Currently i am in a new project.
I need some info on the architure design of my new project.

The requirement is as follows:

1.
A middleware server should be introduced to the existing environment.
This server talks with back-end mainframe Host which has a Mq server running.

2. The front end is 2 Win2k servers hosting Internet applications, located at two different places.These two servers are load balanced to cater 24/7 availability.

3. The middleware server proposed will have IBM WAS 5.0 and MQ server 5.3 installed on win2k server. The middleware server should also be available 24/7.

The WAS will have java applications running which will process the MQ messages.

So, currently we decided to implement two server boxes each at the frontend server places.

Each server will have WAS+MQ server installed. To attain 24/7 we decided to cluster the 2 MQ servers and 2 WebSphere App Servers.

4. So, now a request coming from frontend server should route through either WAS1->MQ1-> backend or WAS2->MQ2->backend
or WAS1->MQ2->backend or WAS2->MQ1->backend.

At any point of time, the servers should be up and servicing the requests.

Will the above architecture supports this?

5. In order to attain this, should we define the queues with same name in both the 2 MQ servers?

Kindly confirm the above design.
Suggestions are most welcome with a better solution.

Please do revert back in case of more clarifications.

Thanks in advance.
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Sat Dec 06, 2003 12:03 pm    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2602
Location: The Netherlands (Amsterdam)

mqfresher,
to answer your last question (5) first. Yes.

However, local queues always prevail over cluster queues.

So to help you with your design I need to know whether the WAS servers and MQ servers are on different machines.

if this is true you need to build the following

Machine WAS+MQa --- Machine MQ1 --- Backend
Machine WAS+MQb --- Machine MQ2 --- Backend

MQa+MQ1+MQb+MQ2 form a cluster, the cluster Queues are on MQ1 and 2

This way you can take down:

Machine WAS+MQa
and traffic will flow over Machine WAS+MQb --- Machine MQ1/2 --- Backend

Machine WAS+MQb
and traffic will flow over Machine WAS+MQa --- Machine MQ1/2 --- Backend

Machine MQ1
and traffic will flow over Machine WAS+MQa/b --- Machine MQ2 --- Backend

Machine MQ2
and traffic will flow over Machine WAS+MQa/b --- Machine MQ1 --- Backend

Does this clarify things?

Also is the data travelling one way or also back from backend to the WAS component? if this is true you need to make sure the response ends up on the 'right' server. so this complicates things...

If you need more info or if you come up with more questions let me know.

Michael
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
mqfresher
PostPosted: Sat Dec 06, 2003 12:41 pm    Post subject: Reply with quote

Newbie

Joined: 06 Dec 2003
Posts: 4

Hi Michael,

Thanks for your response....

Here are the answers for your queries.

1. The WAS+MQServer is in the same box (Win2k Server). Ideally the frontend server is a seperate box, WAS+MQServer is a seperate box. The WAS+MQServer acts as a middleware.

The frontend server applications, contact the middleware in https:// requests. The applications in middleware WAS server should process the request, put the request in the messages of theMQ Server queue manager (in the same box). Get the reply message and send back the https response back to the frontend server.
So, basically this is request - response scenario.

There is one pair of servers (Front end server, Middleware server (WAS+MQ)), wach located at different location.
As mentioned earlier the frontend servers are load balanced.

To maintain 24/7 availability we need to work on the middleware server design.

The flow is as below:

FS1 -> WAS1+MQ1-> Backend

FS2 -> WAS2+MQ2 -> Backend

Hope this clarifies your queries.

Please feel free to ask more clarifications, if needed.

Thanks in Advance.
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Sun Dec 07, 2003 2:46 am    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2602
Location: The Netherlands (Amsterdam)

mqfresher,
i re-read your original post.

as you said the front-end servers are load balanced, not the middleware servers.

So to get the full picture:

User X connects to FE1 or FE2 based on loadbalancing and availability,
From FE1 or FE2 the path is straight:

FE1 -- WAS1+MQ1 -- Backend
FE2 -- WAS2+MQ2 -- Backend

This scenario offers simplicity and if proper naming is applied can be scalable aswell.

One point you need to address/take into consideration: if you want to bring down the middleware component WAS1+MQ1 or WAS2+MQ2 you need to bring down the corresponding FE1 or FE2 aswell as FE1 cannot automatically switch to WAS2+MQ2.

In the scenario you describe you don't need MQ clustering, just straight channel connections. Also you won't have a problem with 'responses' ending up on the wrong server.

Success with your implementation

Michael
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
mqfresher
PostPosted: Sun Dec 07, 2003 7:28 pm    Post subject: Reply with quote

Newbie

Joined: 06 Dec 2003
Posts: 4

Michael,

your understanding is correct, but for one thing.
--
User X connects to FE1 or FE2 based on loadbalancing and availability,
From FE1 or FE2 the path is straight:

FE1 -- WAS1+MQ1 -- Backend
FE2 -- WAS2+MQ2 -- Backend
--

Here, if only a few applications in FE1/FE2 will contact this middleware server. So, if FE1 is up and WAS1+MQ1 down then routing should be done to WAS2+MQ2 and similarly, if FE2 up and WAS2+MQ2 down, then routing should be done to WAS1+MQ1.

Also, WAS1 up and MQ1 down then, MQ2 should be routed to.

if WAS2 upa nd MQ2 down then MQ1 should be routed to.

To Summarise, all possible backup should be available. That is at any point of time there should be no downtime.

Please suggest an approach for this design.

Thanks.
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Sun Dec 07, 2003 11:53 pm    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2602
Location: The Netherlands (Amsterdam)

mqfresher,
get an experienced consultant who has done this before.
there are too many details to consider in making this work.

As I said with your current setup/design the path is 'straigth' and switching will not occur from for example WAS1 to MQ2. to make that work look at my earlier post.

The only way with the current design (as you picture it) you can switch from WAS1 to MQ2 is using client connections, but I don't think you want to go that way.

This is as far as I can help you

Michael
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
mqfresher
PostPosted: Mon Dec 08, 2003 4:39 am    Post subject: Reply with quote

Newbie

Joined: 06 Dec 2003
Posts: 4

Hi Michael,

Thanks for your response.

Will try to find out some help as you suggested.

Anyway, keep me updated if you come across any solution for this.
Me too will update you.

Anybody ... could you provide your suggestions on this topic.
Thanks.
Back to top
View user's profile Send private message
kman
PostPosted: Thu Jan 08, 2004 12:58 am    Post subject: Reply with quote

Partisan

Joined: 21 Jan 2003
Posts: 309
Location: Kuala Lumpur, Malaysia

I have never done this, but wanted to test water.

What if you put MQ1 n MQ2 in a cluster. Would that make it possible for flow to go to MQ2 when MQ1 is down? However, if there are only two MQ machines, then both has to be full repositories. Can you then promote MQ on the WAS machine which was the JMS server to a cluster QM? Or can you make WAS connect to an mq cluster?
Maybe a separate QM on the machine as a cluster repositories and get the JMS server to join the cluster.

Just some thoughts.
Back to top
View user's profile Send private message Yahoo Messenger
techno
PostPosted: Fri Jan 30, 2004 10:10 pm    Post subject: Reply with quote

Chevalier

Joined: 22 Jan 2003
Posts: 429

But the routing of requests is done at Web Server level, right! In that case, when WAS1 is down, the request is routed to WAS2.

Suppose request reaches WAS1. When MQ1 is not available, it should be routed to MQ2. Similarly the other way. Question is, how should this routing be done? Programmatically, even if we have clustering? If this is done programmatically, there is no advantage of cluster while putting the message! Am I saying correct?
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Sat Jan 31, 2004 1:02 am    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2602
Location: The Netherlands (Amsterdam)

techno,
that is correct.
too bad we don't have a drawing board here

the point is when you only have QM's on the WAS machines in order for you to reach the other QM you need to setup a client conn, now that is not clustering!
what is it build it for? high availability or loadbalancing?
another point is... if you have a cluster of 2 QM's both hosting let's say Q ABC clustered, the message will always go to the Q ABC of the Qmgr you are connection to, as Local Q's prevail over Clustered Q's...

That's why if you look at the picture I drew, you need to have 4 QM's at least. Also that way you can connect WAS to MQ in bindings mode and no need to mess with client conns.

I hope this clarifies.

Michael
PS if this is for high-availability then this is not a 100% solution as messages CAN get stuck on one of the Qmgrs when it goes down and there is no way to reach them any more until that Qmgr on that machine comes up again.
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
techno
PostPosted: Sat Jan 31, 2004 2:03 pm    Post subject: Reply with quote

Chevalier

Joined: 22 Jan 2003
Posts: 429

Michael
Even if we have an extra qmgr with WAS, what happens when that qmgr is down? Do you need to programmatically connect to another qmgr depending on the first connect result?

Ar WAS1:
connect to qmgrWAS1
if fails
connect to qmgrWAS2

Can we not do with just one statement?
Back to top
View user's profile Send private message
Michael Dag
PostPosted: Sat Jan 31, 2004 3:22 pm    Post subject: Reply with quote

Jedi Knight

Joined: 13 Jun 2002
Posts: 2602
Location: The Netherlands (Amsterdam)

Techno,
I always say "anything" is possible!
Main point is... What are you trying to achieve?
What is most import, second, third...

a) load-balancing
b) high-troughput
c) 100% failover
d) flexibility
e) 24/7/52 uninterrupted operation
f) all of the above

You pick first, then design... not the other way around.

If you want to go for f) it can be done but takes a lot of constructing
and as far as I know not written in any book... you need a combination of
options like hardware failover, MQ clustering, WAS clustering, W network
dispatcher (or whatever it is called these days) ...
You need to address the first WAS-MQ part as a tight fit, not a client
based connection. It can either be down because you put it down for
maintenance and the other machine takes over all requests or the machine
crashed, anything you leave in between can cause loss of requests somewhere ...
(or add code around it to recover, but that might again compromise
your horizontal scalability)

now if your choice is not f) then you can leave out some of the difficult construction and have a not 100% bullet proof system.

As you can imagine this can not be addressed in say 10 to 20 posts going back and forth... hire someone who dunnit before.

Michael
PS if this is really an f) type solution, you really don't want to be the one
to implement it without knowing what to do, or you must love steep
learning curves
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » MQ clustering design approach
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.