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 » flow issue..

Post new topic  Reply to topic
 flow issue.. « View previous topic :: View next topic » 
Author Message
lecmns
PostPosted: Thu Feb 07, 2002 6:29 am    Post subject: Reply with quote

Apprentice

Joined: 26 Dec 2001
Posts: 36

folks..

I am using MQ JMS and I think there's some difference in putting message to a simple queue and a clustered queue because in a normal case, we need to mention the QueueManager name and Queue but in the clustered queue, we say the cluster name and queue only, right? this is just a doubt. I don't know if this is applicable only to the latest version ie/. 5.2 on Windows..

One scenario I have in confusion is the following situation.

I have two QueueManagers QM1 and QM2. I have a local queue Q1 in QM1 which I have made shared to the cluster. Now, I'll see the copy of Q1 in QM2 also.. Now, is the problem. I will eb able to put message to Q1 from QM1 or QM2. But I can read message of Q1 only from QM1 and not from QM2.
Is there some way of doing that? I can now put listener only on Q1 in QM1 and not on QM2. what if QM1 goes down..? everything's gone? I don't want that to happen. Do we have a solution for this? We should be having, right?

Another prob is whe ni put a message into a queue, I start a listener on the same queue to get the response. In a clustered queue, where and on which queue will I start this listener? How can we predict this?

I have heard that in all Queue Managers I can may be create local queues with the same name and then have listeners on all QueueManagers, message put to that queue name wil come to one of these local queues and then it can be processed by listener on that lcoal queue. I did try this, but didn't seem working. May be I went wrong somewhere, I'll hav to try that again.. folks, any idea.. ?

please help me out..
I am nearing my deadline..

MNS
Back to top
View user's profile Send private message
EddieA
PostPosted: Fri Feb 08, 2002 10:31 am    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

Hi,

Lets try and answer this in the same order you asked.

There's no difference between PUTting to a 'normal' queue or a 'cluster' queue. You still have to connect to a queue manager and name the queue you are putting to. The application has no knowledge of (and cannot use) the Cluster name.

Your description of PUTting the message to Q1 from either QM1/2 and only being able to GET the message from QM1 only is correct.

For your questions, the concept of Clustering is only coming into play for the delivery of messages. Once a message has reached its 'destination' local queue, then 'normal' MQ constraints apply. Clustering plays no further part.

How does this 'delivery' work in your questions. Lets modify your configuration. The configuration consists of 3 Queue Managers, QM1, QM2, and QM3. Q1 is defined as local/clustered on QM1 and QM2. If both QM1 and QM2 are up and running, then putting a message to Q1 from QM3 will cause the messages to be delivered, alternately, to QM1 and QM2. (Assuming that the BIND options are correct). However, if QM1 is down, then MQ will only send mesages to QM2. It will not try to send to a Queue Manager that is down.

Now, if you add a local/clustered definition for Q1 on QM3 and then send a message to Q1 from QM3, the message will ALWAYS end up on Q1 on QM3 because there is a copy of the queue on that particular QM.

Does that answer all your question. If not, you know the drill.

Cheers,

_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
lecmns
PostPosted: Fri Feb 08, 2002 7:53 pm    Post subject: Reply with quote

Apprentice

Joined: 26 Dec 2001
Posts: 36

Back to top
View user's profile Send private message
lecmns
PostPosted: Fri Feb 08, 2002 9:30 pm    Post subject: Reply with quote

Apprentice

Joined: 26 Dec 2001
Posts: 36

Hi,

"With clustering, you send a message to a queue with a specific name
somewhere in the cluster, here represented by a cloud. You specify the name of the target queue, not the name of a remote queue. Remote queues don’t exist in clusters. They are only useful when the queue manager communicates with a queue manager that is not a member of the cluster. You may also want to specify the queue manager, but very often it is left to MQSeries to find out where the queue is (or the queues are) and where to send the message to."

"In normal distributed messaging, we send messages to a specific queue owned by a specific queue manager."

Above are the lines from the pdf file from IBM..
It is about MQSeries Version 5.1 Administration and Programming examples ( SG245849 )

This is the document that made me think that there's probably difference in the way messages are put in to a normal queue and a clustered queue. This document also talks about scenarios where we put messages to a clustered queue with and without mentioning the queue manager.

For your information, I am working on MQSeries v5.2 on Windows boxes.. and using MQ JMS APIs and not direct MQ APIs.. that too Java APIs..

your reply message has definitely proved me helpful as I have started moving forward a bit. I am looking into the JMS and MQ Java APIs for the support offered for Clustering.. but if yo ucan get me more help, that's appreciated..

Thankx in advance, time's running out for me fast..
MNS
Back to top
View user's profile Send private message
EddieA
PostPosted: Sun Feb 10, 2002 10:30 pm    Post subject: Reply with quote

Jedi

Joined: 28 Jun 2001
Posts: 2453
Location: Los Angeles

That's a very badly worded description of Clustering. Lets try and make some sense of it.

As I said before, there's no difference in the way you PUT to a Cluster queue or a 'normal' (local or remote) queue. By that, I mean you still connect to your 'local' Queue manager and you still put to a 'named' queue.

The difference is where that 'named' queue exists. Without clustering, that queue MUST be defined on the 'local' Queue manager, either as a Local or Remote queue. In clutering, it only has to be defined on the Queue manager where it really exists as a Local queue. The 'magic' of clustering makes sure that all the Queue managers in the cluster know where the queue is. No Remote definitions are needed for it.

Basically, in a cluster you PUT to the actual queue name where you want the message to go. In non-clustering you PUT to a (remote) queue that points to the target queue.

If you PUT to a queue and also name the Queue Manager, you are saying that you want the message to go to the queue on THAT particular Queue Manager. The only difference here, with clustering, is how MQ know the 'route' to that Queue Manager.

Cheers,

_________________
Eddie Atherton
IBM Certified Solution Developer - WebSphere Message Broker V6.1
IBM Certified Solution Developer - WebSphere Message Broker V7.0
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Page 1 of 1

MQSeries.net Forum Index » Clustering » flow issue..
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.