Programmation d'application et clusters
Il n'est pas nécessaire d'apporter des modifications à la programmation pour tirer parti de plusieurs instances de la même file d'attente. Cependant, certains programmes ne fonctionnent pas correctement, sauf si une séquence de messages est envoyée à la même instance d'une file d'attente.
Les applications peuvent ouvrir une file d'attente à l'aide de l'appel MQOPEN . Les applications utilisent l'appel MQPUT pour placer des messages dans une file d'attente ouverte. Les applications peuvent placer un message unique dans une file d'attente qui n'est pas déjà ouverte, à l'aide de l'appel MQPUT1 .
Si vous configurez des clusters ayant plusieurs instances de la même file d'attente, il n'y a pas de considérations spécifiques en matière de programmation d'application. Toutefois, pour tirer parti des aspects de la gestion de la charge de travail liés à la mise en cluster, vous devrez peut-être modifier vos applications. Si vous configurez un réseau dans lequel il existe plusieurs définitions de la même file d'attente, recherchez les affinités de message dans vos applications.
Supposons, par exemple, que vous disposiez de deux applications qui s'appuient sur une série de messages qui circulent entre elles sous la forme de questions et de réponses. Vous souhaitez probablement que les réponses soient renvoyées au gestionnaire de files d'attente qui a envoyé une question. Il est important que la routine de gestion de la charge de travail n'envoie pas les messages à un gestionnaire de files d'attente qui héberge une copie de la file d'attente de réponses.
Vous pouvez avoir des applications qui nécessitent que les messages soient traités en séquence (par exemple, une application de réplication de base de données qui envoie des lots de messages qui doivent être extraits en séquence). L'utilisation de messages segmentés peut également entraîner un problème d'affinité.
Ouverture d'une version locale ou éloignée de la file d'attente cible
Tenez compte de la manière dont le gestionnaire de files d'attente choisit d'utiliser une version locale ou distante de la file d'attente cible.
- Le gestionnaire de files d'attente ouvre la version locale de la file d'attente cible pour lire les messages ou pour définir les attributs de la file d'attente.
- Le gestionnaire de files d'attente ouvre une instance de la file d'attente cible dans laquelle écrire des messages, si au moins l'une des conditions suivantes est vérifiée:
- Il n'existe pas de version locale de la file d'attente cible.
- Le gestionnaire de files d'attente spécifie
CLWLUSEQ(ANY)sousALTER QMGR. - La file d'attente du gestionnaire de files d'attente indique
CLWLUSEQ(ANY).