Author |
Message
|
telesguilherme |
Posted: Wed Nov 06, 2013 8:08 am Post subject: |
|
|
Acolyte
Joined: 16 Feb 2008 Posts: 56
|
JosephGramig, Everyone,
I have:
2 front-end servers:
front1 - Apache/Suse Linux 11
front2 - Apache/Suse Linux 11
- With ucarp for failover Virtual IP address
- Handles all webservices via mod_proxy
2 back-end servers:
back1 - WMQ7/WMB7/Suse Linux 11
QM1/queue1/queue2/queue3
back2 - WMQ7/WMB7/Suse Linux 11
QM2/queue1/queue2/queue3
SAME NAME OF QUEUES.
Load Balance Configured with a named cluster: "CLUSTER"
On server back1 and back2, i have one instance of Broker running app1, that puts data on queue1, on both queue managers locally.
Since an external application will retrieve from queue1, one time on server back1, and another time, on server back2. How can i sincronize both queues1 on both servers. Because, the first time the external application goes to server back1, and issue the command MQGET, this will go to the local queue, and the second time to the other server, and of course, locally. My point is, and problem, if MQ Cluster can handle, and sincronize when to clean and sincronize this queues. (queue1 on both servers).
If i resolve this, my problem is done, because we dont have NFS and gateway for option. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Nov 06, 2013 8:45 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
telesguilherme wrote: |
My point is, and problem, if MQ Cluster can handle, and sincronize when to clean and sincronize this queues. (queue1 on both servers). |
It can't. As I've explained once this morning already the WMQ cluster does not exist as a technological entity and therefore can't "handle" anything. Your queue1 on one server is a distinct WMQ object on a distinct queue manager with no connection to any queue on any other queue manager. Code invoked when a message is put to a queue manager (and all messages are put over a connection to a queue manager, never to a queue) means that a given message may or may not be placed on a queue hosted by that queue manager, and if not sent to a different queue manager to be stored. Once this has happened there's no record of the message and no "syncronization" of the objects because in a normal WMQ cluster the last thing you want is for the queues to contain the same messages!
telesguilherme wrote: |
we dont have NFS and gateway for option. |
You are going to struggle very hard to do what you are trying to do without NFS or some other kind of sharing mechanism. Conceptually you're trying to develop your own HA software that can fail messages from one downed location to another.
Compaines employ teams of developers and make profits developing, selling and supporting that kind of solution. I strongly doubt the TCO of anything you develop will be less than buying NFS and using MI. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
telesguilherme |
Posted: Wed Nov 06, 2013 9:16 am Post subject: |
|
|
Acolyte
Joined: 16 Feb 2008 Posts: 56
|
Vitor,
I understand, but what will be the objective of load balance after all if i cant issue and MQGET on remote queue. |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Nov 06, 2013 9:28 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
telesguilherme wrote: |
Vitor,
I understand, but what will be the objective of load balance after all if i cant issue and MQGET on remote queue. |
Suppose you could issue an MQGET against a remote queue.
Then you have one copy of an application reading messages that have been load balanced across two queues.
What value that?
MQ clustering works and provides great value.
It doesn't work the way you think it does.
Learn how it *does* work, and these questions will stop bothering you, and you will understand how it works, and you will be happy and receive great value. |
|
Back to top |
|
 |
Vitor |
Posted: Wed Nov 06, 2013 9:48 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
telesguilherme wrote: |
what will be the objective of load balance after all if i cant issue and MQGET on remote queue. |
The value comes from being able to stream 1,000,000 messages automatically into 10 queue managers on 10 different servers with 10 copies of the application that processes the messages on each of the 10 servers. Doing this you can process the 1,000,000 messages in approximately a tenth of the time you could do this with a single server.
That's not what you want to do.
You want an HA cluster, not a WMQ cluster. Wishing you had a dog won't change your pet rabbit into a dog. Both can be used as pets, but they have very different characteristics. You can't make a rabbit chase a stick no matter how hard you try. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
telesguilherme |
Posted: Thu Nov 07, 2013 1:53 am Post subject: |
|
|
Acolyte
Joined: 16 Feb 2008 Posts: 56
|
Thats exactly what i need, and i´ve got working, thanks a lot.
But, the MQGET issue remains.  |
|
Back to top |
|
 |
Vitor |
Posted: Thu Nov 07, 2013 5:19 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
telesguilherme wrote: |
But, the MQGET issue remains.  |
I consider myself thankful that I've managed to avoid this issue over the last 10 years or so while using clusters. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
telesguilherme |
Posted: Thu Nov 07, 2013 5:22 am Post subject: |
|
|
Acolyte
Joined: 16 Feb 2008 Posts: 56
|
Vitor,
When using clusters, if a put my QM Gateway in the NFS, my actual structure of load balance remains unchanged right ?
The QM Gateway will do all the job ? |
|
Back to top |
|
 |
rammer |
Posted: Thu Nov 07, 2013 5:45 am Post subject: |
|
|
Partisan
Joined: 02 May 2002 Posts: 359 Location: England
|
telesguilherme wrote: |
Vitor,
When using clusters, if a put my QM Gateway in the NFS, my actual structure of load balance remains unchanged right ?
The QM Gateway will do all the job ? |
If you set it up correctly yes. The info centre makes it very clear how to use Gateway Qmgr |
|
Back to top |
|
 |
exerk |
Posted: Thu Nov 07, 2013 5:48 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
telesguilherme wrote: |
...When using clusters, if a put my QM Gateway in the NFS, my actual structure of load balance remains unchanged right ? |
Correct
telesguilherme wrote: |
The QM Gateway will do all the job ? |
The job of what? All the Gateway queue manager will do is work as a distributor of messages and load-balance them out across the cluster.
If you want to load-balance messages, and you don't want orphaned messages if one of your cluster queue managers goes down, you will have to make those cluster queue manager Highly-Available, either using MI or other approved and supported mechanism.
If you want to load-balance messages, and you don't want orphaned messages if one of your cluster queue managers goes down, and you don't want to make those cluster queue managers highly available, you'll have to duplicate the messages so they're available in each queue manager. That scenario opens up a whole can of worms, e.g. can your application handle duplicate messages, if you run an instance of the application on each server how do you reconcile resource contention etc.
You need to empty your head of trying to fettle clustering to provide a solution to your requirement because it seems to be tram-lining you into a particular thought process that's discounting any other solution. _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
telesguilherme |
Posted: Thu Nov 07, 2013 8:23 am Post subject: |
|
|
Acolyte
Joined: 16 Feb 2008 Posts: 56
|
Dear Exerk,
Thanks for the answer.
My goal is about one application that dont support duplicated data and my Broker can send to both local queues, but only one will be consumed.
So, my actual option will be to set up the gateway queue so this can handle qhe MQPUT and MQGET commands.
That right ? |
|
Back to top |
|
 |
Vitor |
Posted: Thu Nov 07, 2013 8:32 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
telesguilherme wrote: |
That right ? |
Not even close. You seem determined to not listen to what we're trying to tell you about how clustering works and how it doesn't work the way you want it to. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
telesguilherme |
Posted: Thu Nov 07, 2013 8:41 am Post subject: |
|
|
Acolyte
Joined: 16 Feb 2008 Posts: 56
|
Vitor,
I'm sorry, I really feel ashamed. But my problem is only with a single application that will provide data on a specific queue, and this queue should always be available in two back-end servers.
So what you are saying is that the MQ in any high availability architecture will not support MQGET? |
|
Back to top |
|
 |
exerk |
Posted: Thu Nov 07, 2013 8:55 am Post subject: |
|
|
 Jedi Council
Joined: 02 Nov 2006 Posts: 6339
|
telesguilherme wrote: |
So what you are saying is that the MQ in any high availability architecture will not support MQGET? |
MQGET is supported on each and every queue manager in the world, and those yet to come into existence.
So, once again, and with feeling... stop thinking in terms of 'two back-end servers' and start thinking in terms of 'how can I make a queue highly-available' - that will inform your topology.
1. You have a mechanism (Broker) that can write the 'same' message to multiple queues, but an application that cannot process 'duplicate' messages;
2. If you use a gateway queue manager to distribute messages to two discrete back-end queues your application will need to connect to both queue managers and poll the queues - not very efficient;
3. Have you thought of taking your two back-end servers and having a Highly-Available queue manager on them? And maybe a Highly-Available Broker, and making your app Highly-Available too? _________________ It's puzzling, I don't think I've ever seen anything quite like this before...and it's hard to soar like an eagle when you're surrounded by turkeys. |
|
Back to top |
|
 |
Vitor |
Posted: Thu Nov 07, 2013 8:59 am Post subject: |
|
|
 Grand High Poobah
Joined: 11 Nov 2005 Posts: 26093 Location: Texas, USA
|
telesguilherme wrote: |
So what you are saying is that the MQ in any high availability architecture will not support MQGET? |
There are a number of high-availability architectures in WMQ, many of them have been mentioned in this thread by myself and others.
None of them include the use of MQGet against 2 separate queues the way you want to because the software doesn't allow that. The software doesn't allow it because no one has ever asked for it. No one has ever asked for it because an architecture which would require it is a bad idea.
You need to accept that the way you want to do it won't work in WMQ and you wouldn't want to do it if you could make it work.
Re-read this thread and the HA advice in the InfoCenter. Revise your architecture and stop banging your head against the wall. _________________ Honesty is the best policy.
Insanity is the best defence. |
|
Back to top |
|
 |
|