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 » MQGET Load Balance

Post new topic  Reply to topic Goto page Previous  1, 2
 MQGET Load Balance « View previous topic :: View next topic » 
Author Message
telesguilherme
PostPosted: Wed Nov 06, 2013 8:08 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Wed Nov 06, 2013 8:45 am    Post subject: Reply with quote

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
View user's profile Send private message
telesguilherme
PostPosted: Wed Nov 06, 2013 9:16 am    Post subject: Reply with quote

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
View user's profile Send private message
mqjeff
PostPosted: Wed Nov 06, 2013 9:28 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Wed Nov 06, 2013 9:48 am    Post subject: Reply with quote

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
View user's profile Send private message
telesguilherme
PostPosted: Thu Nov 07, 2013 1:53 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Thu Nov 07, 2013 5:19 am    Post subject: Reply with quote

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
View user's profile Send private message
telesguilherme
PostPosted: Thu Nov 07, 2013 5:22 am    Post subject: Reply with quote

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
View user's profile Send private message
rammer
PostPosted: Thu Nov 07, 2013 5:45 am    Post subject: Reply with quote

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
View user's profile Send private message
exerk
PostPosted: Thu Nov 07, 2013 5:48 am    Post subject: Reply with quote

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
View user's profile Send private message
telesguilherme
PostPosted: Thu Nov 07, 2013 8:23 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Thu Nov 07, 2013 8:32 am    Post subject: Reply with quote

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
View user's profile Send private message
telesguilherme
PostPosted: Thu Nov 07, 2013 8:41 am    Post subject: Reply with quote

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
View user's profile Send private message
exerk
PostPosted: Thu Nov 07, 2013 8:55 am    Post subject: Reply with quote

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
View user's profile Send private message
Vitor
PostPosted: Thu Nov 07, 2013 8:59 am    Post subject: Reply with quote

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
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2 Page 2 of 2

MQSeries.net Forum Index » Clustering » MQGET Load Balance
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.