[z/OS]

Mise en files d'attente réparties avec mise en files d'attente intra-groupe (chemins de livraison multiples)

Pour les applications qui traitent des messages de petite taille, il est possible de configurer la mise en file d'attente intra-groupe uniquement pour la distribution de messages entre des gestionnaires de files d'attente d'un groupe de partage de files d'attente.

Le choix de la file d'attente intra-groupe sur des communications du canal peut être contrôlé par le niveau de type CFSTRUCT. (3 au lieu de 4 ou 5). La longueur de message maximale telle que définie sur SYSTEM.QSQ.TRANSMIT.QUEUE.

Figure 1 : Exemple de configuration
Exemple de configuration. L'application de demande insère des messages dans la file d'attente éloignée, RQ1. Les messages sont ensuite insérés dans la file d'attente de transmission QX1 sur QMG1 ou sur la file d'attente de transmission SYSTEM.QSG.TRANSMIT.QUEUE pour être reçus par QMGR2. Reportez-vous au texte qui suit le diagramme pour une description plus détaillée.

Processus d'ouverture/insertion

  1. Il est à noter que, lorsque l'application de demande ouvre la file d'attente éloignée RQ1, la résolution de nom a lieu pour la file d'attente de transmission non partagée XQ1 et la file d'attente de transmission partagée SYSTEM.QSG.TRANSMIT.QUEUE.
  2. Lorsque l'application de demande insère un message sur la file d'attente éloignée, selon si la mise en file d'attente intra-groupe est activée ou non pour le transfert sortant sur le gestionnaire de files d'attente et en fonction des caractéristiques du message, ce dernier est inséré dans la file d'attente de transmission XQ1 ou dans la file d'attente de transmission SYSTEM.QSG.TRANSMIT.QUEUE. Le gestionnaire de files d'attente place tous les messages de grande taille dans la file d'attente de transmission XQ1 et tous les messages de petite taille dans la file d'attente de transmission SYSTEM.QSG.TRANSMIT.QUEUE.
  3. Si la file d'attente de transmission XQ1 est saturée ou qu'elle n'est pas disponible, les demandes d'insertion de messages de grande taille échouent de façon synchrone avec un code retour et anomalie approprié. Cependant, les demandes d'insertion de messages de petite taille continuent d'aboutir et sont placées dans la file d'attente de transmission SYSTEM.QSG.TRANSMIT.QUEUE.
  4. Si la file d'attente de transmission SYSTEM.QSG.TRANSMIT.QUEUE est saturée ou qu'elle n'est pas accessible en insertion, les demandes d'insertion de messages de petite taille échouent de façon synchrone avec un code retour et anomalie approprié. Cependant, les demandes d'insertion de messages de grande taille continuent d'aboutir et sont placées dans la file d'attente de transmission XQ1. Dans ce cas, aucune tentative d'insertion des messages de petite taille dans une file d'attente de transmission n'est effectuée.

Flux des messages de grande taille

  1. L'application de demande insère des messages de grande taille dans la file d'attente éloignée RQ1.
  2. Le gestionnaire de files d'attente QMG1 insère les messages dans la file d'attente de transmission XQ1.
  3. L'agent MCA émetteur (S) sur le gestionnaire de files d'attente QMG1 extrait les messages de la file d'attente de transmission XQ1 et les envoie au gestionnaire de files d'attente QMG2.
  4. L'agent MCA récepteur (R) sur le gestionnaire de files d'attente QMG2 reçoit les messages et les place dans la file d'attente de destination LQ1.
  5. L'application de service extrait les messages de la file d'attente LQ1 puis les traite.

Flux des messages de petite taille

  1. L'application de demande insère des messages de petite taille dans la file d'attente éloignée RQ1.
  2. Le gestionnaire de files d'attente QMG1 insère les messages dans la file d'attente de transmission SYSTEM.QSG.TRANSMIT.QUEUE.
  3. La mise en file d'attente intra-groupe sur le gestionnaire de files d'attente QMG2 extrait les messages puis les place dans la file d'attente de destination LQ1.
  4. L'application de service extrait les messages de la file d'attente LQ1.

Remarques

  1. L'application de demande n'a pas besoin de connaître le mécanisme sous-jacent utilisé pour la distribution des messages.
  2. Un mécanisme de distribution de message potentiellement plus rapide peut être obtenu pour les messages de petite taille.
  3. Plusieurs chemins sont disponibles pour la distribution de messages (c-à-d, le chemin de canal normal et le chemin de mise en file d'attente intra-groupe).
  4. Potentiellement plus rapide, le chemin de mise en file d'attente intra-groupe est préféré au chemin de canal normal. En fonction des caractéristiques de message, la distribution de message peut être répartie sur les deux chemins. Les messages peuvent donc être distribués hors séquence (bien que cette distribution soit également possible si les messages sont distribués à l'aide du chemin de canal normal uniquement).
  5. Lorsqu'un chemin a été sélectionné et que des messages ont été placés dans les files d'attente de transmission, seul le chemin sélectionné est utilisé pour la distribution de messages. Les messages non traités dans la file d'attente SYSTEM.QSG.TRANSMIT.QUEUE ne sont pas détournés vers la file d'attente de transmission XQ1.