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 » General IBM MQ Support » How to get higher Subscription availability ?

Post new topic  Reply to topic
 How to get higher Subscription availability ? « View previous topic :: View next topic » 
Author Message
KIT_INC
PostPosted: Fri Aug 05, 2016 6:30 am    Post subject: How to get higher Subscription availability ? Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

I am using MQ 75 on linux and have a cluster of 4 Qmgrs. QM1... QM4.
I have a Topic (MYTOPIC) defined on QM1 and shared in the cluster. I have a durable subscription 'SUB1' define on QM1 subscribing to the Topic and a Queue MyQ to receive the publication. I have another durable subscription 'SUB2' define on QM2 subscribing to the Topic and a Queue MyQ to receive the publication. Since MYTOPIC is a cluster Topic, I can publish to the Topic from any of the 4 Qmgrs in the cluster and both SUB1 and SUB2 will get the publication. All this is normal.
When QM1 is down, I can still publish to MYTOPIC from the other Qmgs and SUB2 will get the publication. SUB1 will not get it until QM1 is backup.

My question is how can I improve the availability of publication to SUB1 when the Qmgr which hosts the subscription , in this case QM1, is down? I tried to add SUB1 under QM2 (or QM3 or QM4), but SUB1 is getting duplicate publications because of the multiple subscription.

I read about "Clone Support" but it seems to be JMS only and not for pre-defined MQ subscriptions.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Aug 05, 2016 6:43 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Why are you using a durable subscription?

Also, review http://www.mqtechconference.com/sessions_v2015/MQTC_pubsub_networks.pdf
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Fri Aug 05, 2016 8:59 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

Quote:
Why are you using a durable subscription


Sorry, something I forgot to mention in my original post is
Destination for SUB1 is MyQ on QM3 and destination for SUB2 is MyQ on QM4.

We do not want the subscriber to miss any publication when it is not connected. BTW if it is a pre-defined sub, the default is durable.

If there is way to have a second SUB1 for availability, I probably will need to change the sub to non-durable, otherwise I will get the pub again when QM1 comes back up Will look into this further when I have the answer for the question on availability.

I reviewed the presentation pointed to by the link. But I still cannot get the answer. I probably need to read that a few more times.

While investigating, I also come across "MQSO_GROUP_SUB" But this is in the API call and not sure if it correspond to any attribute for MQSC DEF SUB.
Back to top
View user's profile Send private message
mqjeff
PostPosted: Fri Aug 05, 2016 9:44 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

There is at least one more pub/sub session at
http://www.mqtechconference.com/sessions_v2015.html

And a fairly good set of sessions from Chris Frank at
http://www.mqtechconference.com/sessions_v2013.html

In general "do not want the subscriber to miss any publication when it is not connected" means a durable subscription.

It also means a highly available queue manager, or the ability to handle duplicate messages in the application.
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
fjb_saper
PostPosted: Sat Aug 06, 2016 10:58 pm    Post subject: Reply with quote

Grand High Poobah

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

In general not missing any published messages when the qmgr is down and receiving the published messages only once, means that you will need a cluster.
You will need a cluster alias and subscribe the clustered queue and cluster alias to the publication.
You will need a program that services all the queue instances in the cluster and you can no longer guarantee the sequence of the published messages.

The published messages will use the cluster round robing algorithm when delivered to the target queue.

Have fun
_________________
MQ & Broker admin
Back to top
View user's profile Send private message Send e-mail
mqjeff
PostPosted: Mon Aug 08, 2016 3:46 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

There's another set of questions to answer...

How long is the subscriber likely to be disconnected? Seconds? Minutes? Hours? Days? And what is the relationship to the rate of incoming messages?

Why is it likely to be disconnected?
_________________
chmod -R ugo-wx /
Back to top
View user's profile Send private message
KIT_INC
PostPosted: Mon Aug 08, 2016 7:43 am    Post subject: Reply with quote

Knight

Joined: 25 Aug 2006
Posts: 589

At a high level, we are designing an error reporting system. QM1,2,3,4 are just us as a sample for asking the question. The cluster can be up to 100 Qmgrs. An "ERROR" topic is created shared in the cluster, so any of the Qmgr QM1...n can publish to the ERROR Topic. There is a single ERROR analyser program which subscribe to the Topic and generate statistics or alerts based on all messages published to the Topic., Error can also include warnings. So the rate is not high but it can happen anytime and warning can come more often depending of future rules.
There is a strange limitation that only pre-defined subscription can be used During the POC, without much thinking being put to availability, we have a subscription to ERROR Topic defined on QM1 with the destination Q (MyQ) on QM3. The analyser program running on QM3 is just reading messages from MyQ and everything works. Now we get into detail design and want some HA for the analyser. We already noticed during POC that when QM1 is down, the analyer is not getting anything until QM1 is backup. Because the analyer needs to read all ERROR publication from any Qmgr, it needs to be a durable subscriber when there is only 1 subscription.

In our case, we want the analyer to run all the time. We can have another instance of the analyer running ,for example , in QM4. But I think, the key is if we have more than one subscription, we will have duplication.
That'w why we were looking at "Clone Support" and MQSO_GROUP_SUB. But these do not apply to pre-defined subscription
Back to top
View user's profile Send private message
mqjeff
PostPosted: Mon Aug 08, 2016 8:36 am    Post subject: Reply with quote

Grand Master

Joined: 25 Jun 2008
Posts: 17447

Usually this kind of monitoring solution would drop data into a database after doing sufficient processing.

This would, among other things, solve the issue of duplicate subscriptions, if the database table was crafted correctly.
_________________
chmod -R ugo-wx /
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 » General IBM MQ Support » How to get higher Subscription availability ?
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.