Cluster Queue Monitoring program (AMQSCLM)

mercredi 17 juillet 2013
par Luc-Michel Demey

Le cluster MQ est une fonction disponible depuis WebSphere MQ version 5.1. Il apporte à la fois de la scalabilité à un environnement MQ, et est une brique technique dans certaines configuration en mode Haute Disponibilité.

Pour autant, le cluster MQ est souvent sous-utilisé, à la fois par méconnaissance de ses apports et de son fonctionnement, et aussi à cause d’une certaine frilosité des équipes en charge de définir l’architecture.

IBM publie régulièrement des nouvelles fonctions pour le cluster MQ. Une de ces fonctions est passée particulièrement inaperçue, il s’agit d’un utilitaire permettant de monitorer les files partagées dans le cluster, et de rerouter des messages déjà livrés vers une autre instance de la file si nécessaire.

Prenons la configuration suivante :

PNG - 40.1 ko

Les QM QMC2 et QMC3 hébergent chacun une file U1 partagée dans le cluster. Ces files U1 sont donc visibles depuis QMC1, où une application E dépose des messages.

Ces messages sont loadbalancés entre les deux instances de U1, où des applications R2 et R3 consomment ces messages.

Si QMC2 s’arrête, le mécanisme de load-balancing du cluster va cesser d’envoyer des messages vers la file U1 de QMC2, ils seront tous dirigés vers celle de QMC3. Seuls les messages déjà livrés dans la U1 de QMC2 seront "prisonniers", en attendant un redémarrage du QM ou une bascule vers un autre serveur dans la cas d’une configuration multi-instance.

Maintenant si c’est l’application R2 qui s’arrête, la situation est beaucoup plus préoccupante. En effet comme QMC2 et sa file U1
restent disponible, cette file va continuer à recevoir des messages qui ne seront pas traités.

Le "Cluster Queue Monitoring program" (nouveauté WMQ 7.1) répond à ce problème.
Il s’agit d’une application (amqsclm) livrée sous forme compilée mais également source, qui va détecter qu’aucune application ne consomme les messages de cette file.

L’outil amqsclm fonctionne en monitorant le paramètre IPPROCS de la file. S’il passe à zéro, c’est qu’aucune application n’a ouvert la file en input, et que les messages ne sont pas consommés.
Dans ce cas, l’outil modifie un des paramètres du load balacing de la file (CLWLPRTY), pour forcer les nouveaux messages vers les autres instances de la file.

Pour régler le cas des messages "prisonniers" dans la file où ils ne sont plus consommés, l’outil effectue un MQGet de ces messages, suivi d’un MQPut dans le même nom de file.
La file locale ayant un CLWLPRTY plus faible que les autres instances, les messages sont dispatchés vers les autres instances de cette file :

PNG - 46.7 ko

La même instance de amqsclm peut monitorer simultanément plusieurs files.

La documentation de cet outil est disponible dans l’Infocenter WMQ 7.1.


Brèves

5 octobre - Annonce de IBM MQ 9.0.0.2 LTSR

Ce produit est disponible : sous forme de fixpack classique (s’applique sur MQ 9000 ou 9001) (...)

29 septembre - IBM Integration Bus V9.0 - Fix Pack 9.0.0.9

IBM annonce ce jour la disponibilité du FixPack 9 pour IIB 9.0.

8 septembre - IBM Integration Bus V10.0 - Fix Pack 10.0.0.10

IBM annonce ce jour le Fix Pack 10.0.0.10 pour IBM Integration Bus V10.0.
Cette mise à jour (...)

13 juillet - Annonce du Fix Pack 8.0.0.7 pour IBM MQ v8

Le FixPack 7 pour IBM MQ version 8.0 est disponible pour les système distribuées, JMS for z/OS, (...)

2 juin - IBM Integration Bus V10.0 - Fix Pack 10.0.0.9

IBM annonce ce jour le Fix Pack 10.0.0.9 pour IBM Integration Bus V10.0.
Comme d’habitude, (...)

11 mai - IBM MQ 9.0.0.1 est disponible

IBM annonce ce jour la disponibilité de MQ version 9.0.0.1. Il s’agit de la version LTSR (Long (...)