Author |
Message
|
mqprimerib |
Posted: Tue Oct 25, 2016 11:57 am Post subject: clustering and websphere connection pointers |
|
|
Apprentice
Joined: 30 Mar 2016 Posts: 36 Location: Detroit Rock City
|
So for a cluster with 2 QMs named QM1 and QM2 on 2 different boxes. When accessing them by websphere application server, how would you point to them?
Would you just have a connector pointing to the first box and port of QM1's listener, but how is that high availability?
I've been asked to look into clustering our MQ 8 queues, but it's not clear how to access the cluster from WAS8.
How are others doing this? |
|
Back to top |
|
 |
mqjeff |
Posted: Tue Oct 25, 2016 12:01 pm Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
What kind of clustering do you mean?
Are the apps that are sending messages and receiving messages both running in WAS? _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
Vitor |
Posted: Tue Oct 25, 2016 12:03 pm Post subject: Re: clustering and websphere connection pointers |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqprimerib wrote: |
So for a cluster with 2 QMs named QM1 and QM2 on 2 different boxes. When accessing them by websphere application server, how would you point to them? |
Be clear with your terms - are you talking about a WAS cluster or an MQ cluster? They are not the same things.
mqprimerib wrote: |
Would you just have a connector pointing to the first box and port of QM1's listener, but how is that high availability? |
You could use a CCDT. Or you could use a list in the connection name. Other methods are available and might be a better fit for your exact requirements.
mqprimerib wrote: |
I've been asked to look into clustering our MQ 8 queues, but it's not clear how to access the cluster from WAS8. |
It's been said before but you need to bear in mind that if the 2 queue managers are in an MQ cluster, the WAS server(s) can only retrieve messages from the queue manager they're connected to; you can't "connect" to an MQ cluster, only to one of the queue managers that participate in it. Any high availability topology needs to cater for that. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqprimerib |
Posted: Wed Oct 26, 2016 8:18 am Post subject: |
|
|
Apprentice
Joined: 30 Mar 2016 Posts: 36 Location: Detroit Rock City
|
To be clear, I'm looking at MQ multi-instance clustering.
Right now for proof of concept, I have 2 QMs on separate boxes, each a local queue configured with send/rcv channels that is working just fine. You can put msg on that local queue on machine 1 and it shows up on machine 2's queue as expected.
Thanks for the responses. I really appreciate it.
Last edited by mqprimerib on Wed Oct 26, 2016 8:25 am; edited 1 time in total |
|
Back to top |
|
 |
mqprimerib |
Posted: Wed Oct 26, 2016 8:22 am Post subject: |
|
|
Apprentice
Joined: 30 Mar 2016 Posts: 36 Location: Detroit Rock City
|
Also, for my POC, I have setup INVENTQ as the multi-instance queue. But my QM has many queues that I'd like to cluster.
Is it possible to cluster at the QM level? Or do I have to setup send/rcv channels for each local queue ?
I hope this makes sense.
display queue(*)
1 : display queue(*)
AMQ8409: Display Queue details.
QUEUE(INVENTQ) TYPE(QLOCAL)
AMQ8409: Display Queue details.
QUEUE(Q.DEADLETTER) TYPE(QLOCAL)
AMQ8409: Display Queue details.
QUEUE(Q.ERROR) TYPE(QLOCAL)
AMQ8409: Display Queue details.
QUEUE(Q.OB.IDVREQUEST) TYPE(QLOCAL)
AMQ8409: Display Queue details.
QUEUE(Q.OB.IDVREQUEST.NCC) TYPE(QLOCAL)
AMQ8409: Display Queue details.
QUEUE(Q.OB.IDVREQUEST.TU) TYPE(QLOCAL)
AMQ8409: Display Queue details.
QUEUE(Q.OB.IFT) TYPE(QLOCAL) |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 26, 2016 8:37 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqprimerib wrote: |
I hope this makes sense. |
No. You're mixing up a lot of separate concepts, and misunderstanding others.
mqprimerib wrote: |
To be clear, I'm looking at MQ multi-instance clustering |
No such thing. There are multi-instance queue managers, and there are clustered queue managers. You have 2 queue managers and nothing you've posted indicates either of them are multi-instance; just 2 queue managers linked with a sdr/rcvr channel pair and not, from what you've described, in an MQ cluster.
mqprimerib wrote: |
Is it possible to cluster at the QM level? Or do I have to setup send/rcv channels for each local queue ? |
All channels are at the queue manager level, be they MQ cluster channels or the sdr/rcvr channels you mention. It's legitimate to set up multiple sdr/rcvr pairs between 2 queue managers, and some use cases where it's a good idea. but for what you're describing you only need one.
And channels are never linked/dedicated/defined for any local or remote queue.
In an MQ cluster, membership of the cluster is at the queue manager level. Participation in the cluster is at a queue level.
mqprimerib wrote: |
Also, for my POC, I have setup INVENTQ as the multi-instance queue. |
In a multi-instance set up (which again, you don't have), all the queue manager objects participate in the MI if they want to or not. You certainly don't "setup <a queue> as the multi-instance queue". _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqprimerib |
Posted: Wed Oct 26, 2016 11:18 am Post subject: |
|
|
Apprentice
Joined: 30 Mar 2016 Posts: 36 Location: Detroit Rock City
|
We want to go with a Queue Manager Cluster. By definition it fits our needs:
Queue Manager Clusters – provide load-balancing and redundancy, but not message failover. This is what we want. In the rare instance of a QM failure, the messages will remain queued and can be recovered when the queue manager comes back online
I'll need to review how to set up just one send/receive pair between our two queue managers to make this work.
Vitor wrote: |
In an MQ cluster, membership of the cluster is at the queue manager level. Participation in the cluster is at a queue level. |
Okay this helps me understand how it all works. Thanks a bunch |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 26, 2016 11:34 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqprimerib wrote: |
I'll need to review how to set up just one send/receive pair between our two queue managers to make this work. |
You make this work by setting up cluster sender / receiver pairs between your two queue managers.
Seriously.
That's all you need to do.
In a real life situation (rather than this POC) you'd have the channels between the candidate queue managers and the 2 repositories, but clearly not here where there are only 2 queue managers. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 26, 2016 11:35 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
It's also (as I indicated) how you make this work if you're not using an MQ cluster and just using point to point. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Oct 26, 2016 11:46 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
Again, in all cases, your application will connect to a *single* queue manager.
If that queue manager does not have a local queue with the messages you want to read on it, you're stuck.
So when you have a queue manager cluster, and you want messages load balanced across them, you need to have a connection to each queue manager...
With WAS, this could be two separate JMS Destinations that point to different queue managers. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
Vitor |
Posted: Wed Oct 26, 2016 11:47 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
mqjeff wrote: |
Again, in all cases, your application will connect to a *single* queue manager.
If that queue manager does not have a local queue with the messages you want to read on it, you're stuck.
So when you have a queue manager cluster, and you want messages load balanced across them, you need to have a connection to each queue manager...
With WAS, this could be two separate JMS Destinations that point to different queue managers. |
 _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|