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 » Addressibility of multiple gateways in a single Cluster

Post new topic  Reply to topic Goto page 1, 2  Next
 Addressibility of multiple gateways in a single Cluster « View previous topic :: View next topic » 
Author Message
MQWays
PostPosted: Sun Jan 20, 2008 11:16 am    Post subject: Addressibility of multiple gateways in a single Cluster Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

hi everybody,

My first post on this forum.

The scenario is as follows

- A total of five machines.
- First machine is standalone outside the cluster which puts the message
- Second and third machines are clustered gateways in Cluster 1
- Fourth and fifth machines are clustered Queue Managers holding instances of the same clustered queue, also within Cluster 1

Question 1: Now, if I need to achieve load balancing among the gateways what should be the CONNAME parameter in the sender channel defined on the first machine outside the cluster. Should it be two sender channels pointing to two different IP's (i.e. for two gateways) OR is a single sender channel with single IP achievable to address both the gateways.

Question 2: Similarly, what should be the IP used in the CONNAME defined in cluster-sender channel on each the gateway to ensure load balancing on the clustered queue managers ( 4th & 5th machines), since each gateway in the cluster should have only one cluster-sender channel.

Question 3 :Lastly, how can I verify whether the load balancing is working.

Appreciate a quick a response.

Thanks.
Back to top
View user's profile Send private message
Vitor
PostPosted: Sun Jan 20, 2008 12:58 pm    Post subject: Reply with quote

Grand High Poobah

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

I don't understand your topology. If you're using v6 (and you should be) then you don't need cluster gateways any more with the new cluster parameters.

Moving to your questions:

If you want to load balance across the 1st 2 machines, you need another cluster (or the same one - again I don't get your topolgy). Sender channels (indeed all channels) have a single destination.

Cluster senders only have one destination - one of the full repositories. You need to spend more time with the cluster manual to understand how the cluster achieves what it does. I suspect your cluster design comes from this lack of experience & understanding.

Load balancing always works in a cluster unless disabled by a bind on open. The easiest way to verify this is to write 10 messages to a cluster queue; if 5 turn up on 1 & 5 on the other it's working.

(This is of course not true under v6 where the balancing is more tunable & can be weighted).

If it was me, and assuming you're using v5.3 & need the external gateway, I'd have the rest of the machines in a single cluster & distribute the queues to accomodate this "gateway" process you have.

Also have another look at the docs. I really don't think clusters work (or are set up) the way you think they are.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Sun Jan 20, 2008 1:32 pm    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Since the non-clustered Queue manager will be sending messages from outside, the MQ cluster manuals says that a gateway is mandatory. Therefore, to avoid a single-point of failure I would like to cluster the gateways.

And from the gateways, the messages will be directed to the clustered single destination queue. So at the end, the message routing could be

Machine 1 (outside) - Machine 2 (gateway) - Machine 4 (cluster q mgr)
Machine 1 (outside) - Machine 2 (gateway) - Machine 5 (cluster q mgr)
Machine 1 (outside) - Machine 3 (gateway) - Machine 5 (cluster q mgr)
Machine 1 (outside) - Machine 3 (gateway) - Machine 4 (cluster q mgr)

Total of four routes.


In this scenario, the gateways will receive messages in a workload balance and the clustered qmrs will also receive messages in the cluster queue in a distributed fashion.

If this is achievable, please advise whether a single cluster be used for the machine 2, 3, 4, 5 or two clusters be defined i.e. (2,3) & (4,5).

Thanks.
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sun Jan 20, 2008 2:11 pm    Post subject: Reply with quote

Grand High Poobah

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

On machine 1 (outside) you want 2 sender channels sharing the same xmitq
One for machine 2 (gateway)
One for machine 3 (gateway)
There can only be one of the 2 channels running at any time.
Understand that the xmitq needs to have the channel name in the trigdata.
If the current gateway is down just stop the channel to the current gateway, switch the trigdata in the xmitq and start the other channel. Due to the shared xmitq your pending messages get sent through the other gateway.

You thus have a MANUAL type of failover.

For the return path just have a clustered ALIAS for machine 1 on each of the gateways. (This would mean that the xmitq does not have the qmgr name, the alias does). So whichever gateway is up can send to machine 1 and you can load balance the gateways.

Enjoy
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
MQWays
PostPosted: Sun Jan 20, 2008 7:37 pm    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Thanks. Any more suggestions on this. I am trying to achieve automatic failover i.e. without manual changing of the definitions. In other words, all machines should be up and running at the same time. If one fails in the cluster the messages should get redirected to other machine of the pair.
Back to top
View user's profile Send private message
MQWays
PostPosted: Sun Jan 20, 2008 11:41 pm    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Would it be a good solution to introduce Load Balancer hardware before the two gateways which will send messages to them in a round-robin fashion. In this case, two XMITQ will be created pointing to each gateway with specific IP addresses in the CONNAME parameter of the two sender channels defined on the outside Q Manager.

This should possibly avoid manual change of the XMITQ definition to facilitate faliover.
Back to top
View user's profile Send private message
jefflowrey
PostPosted: Mon Jan 21, 2008 1:42 am    Post subject: Reply with quote

Grand Poobah

Joined: 16 Oct 2002
Posts: 19981

You can not use a Network Load Balancer with queue manager-queue manager channels. You can only use it with client channels.
_________________
I am *not* the model of the modern major general.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 21, 2008 1:56 am    Post subject: Reply with quote

Grand High Poobah

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

MQWays wrote:
I am trying to achieve automatic failover i.e. without manual changing of the definitions. In other words, all machines should be up and running at the same time.


Then use specific HA software (HACMP, Veritas, etc). Automates failover a treat!

(and also reduces the number of queue managers in your topology as you only need 1 queue manager, which happens to be on 2 HA machines).
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Mon Jan 21, 2008 3:47 am    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Thanks again.

Could you please let me know whether OS level clustering (RedHat) only can enable MQ failover i.e. 'without' the need of MQ HA cluster products such as HACMP, Veritas, ServiceGuard.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 21, 2008 4:00 am    Post subject: Reply with quote

Grand High Poobah

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

MQWays wrote:
Could you please let me know whether OS level clustering (RedHat) only can enable MQ failover i.e. 'without' the need of MQ HA cluster products such as HACMP, Veritas, ServiceGuard.


I don't know RedHat so won't comment on what it can & can't do, leaving that to more knowledgeable people.

But to clarify, the products I mentioned are not MQ HA products, but generalised ones, providing HA services across the board. So with Vertias you can secure your queue manager, your database, your web server, etc, etc. There's no specific MQ HA solution that I'm aware of; most sites use the HA software applicable to their platform.

And as I don't know RedHat, I don't know what people use for HA on that. A more knowledgeable person will be along in a minute.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Mon Jan 21, 2008 4:33 am    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

Quote:
If the current gateway is down just stop the channel to the current gateway, switch the trigdata in the xmitq and start the other channel. Due to the shared xmitq your pending messages get sent through the other gateway.


Could you please explain how can you have a shared XMITQ. I believe the XMITQ pointing the downed gateway will have to be deleted/deactivated and a new XMITQ pointing to the other gateway will have to be defined. This is because XMITQ should be named after the subsequent queue manager in the path.

Please advise. [/code]
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 21, 2008 5:38 am    Post subject: Reply with quote

Grand High Poobah

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

MQWays wrote:
This is because XMITQ should be named after the subsequent queue manager in the path.


There are good reasons why it should be, but it doesn't have to be. This is one of the situations where it isn't.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
MQWays
PostPosted: Mon Jan 21, 2008 12:35 pm    Post subject: Reply with quote

Acolyte

Joined: 20 Jan 2008
Posts: 61

In my previously stated scenario, I have configured the workload mechanism yet I don't see messages going to the other local instance of the cluster queue. I did total of 2 changes

1) On Machine 1 (Outside cluster) I have set DEFBIND on remote queue to NOTFIXED
2) On Machine 2 ( gateway within cluster), I have set CLWLUSEQ to ANY via ALTER QMGR. This machine does not have any queues defined except in DIS QCLUSTER(*)

Is there something else required to enable workload balance ? Is amqsput utility good to test and verify the workload mechanism i.e. by putting in 10/20 messages to checking the distribution.
Back to top
View user's profile Send private message
Vitor
PostPosted: Mon Jan 21, 2008 1:26 pm    Post subject: Reply with quote

Grand High Poobah

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

MQWays wrote:
Is there something else required to enable workload balance ?


What's the binding on the cluster queues on machines 4 & 5?

MQWays wrote:
Is amqsput utility good to test and verify the workload mechanism i.e. by putting in 10/20 messages to checking the distribution.


It's no better or worse than any others. Unlike some, it does use the bindings from the queues.
_________________
Honesty is the best policy.
Insanity is the best defence.
Back to top
View user's profile Send private message
narif
PostPosted: Mon Jan 21, 2008 1:59 pm    Post subject: Reply with quote

Newbie

Joined: 14 Jan 2008
Posts: 1

- Machine 5 hosts the cluster queue and DEFBIND is set to NOTFIXED

- Machine 4 holds local instance of cluster queue i.e. it shows only on
DISPLAY QCLUSTER(QUEUE)
DEFBIND is set to OPEN. I have tried to change it but seemingly ALTER command does not work on QCLUSTER. Is there a way to change it ?

Please advise.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic  Reply to topic Goto page 1, 2  Next Page 1 of 2

MQSeries.net Forum Index » Clustering » Addressibility of multiple gateways in a single Cluster
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.