Pour contrôler le flux de messages vers un service métier et empêcher les retards, vous pouvez activer et configurer la limitation ou le Throttling des messages pour les services métier dans vos applications Service Bus.
-
Concept
Lorsque vous utilisez le throttling pour contrôler le flux de messages, une file d’attente de limitation ou throttling queue est créée, dans laquelle les messages sont mis en file d’attente lorsqu’un service métier atteint sa simultanéité maximale ou lorsqu’un groupe de limitation atteint sa concurrence maximale. Les messages avec une même priorité sont traités selon la base first-in-first-out .
La Throttling Queue est une file d’attente en mémoire. Une fois qu’un message a été dans la Throttling Queue pour un intervalle supérieur à la valeur d’expiration de message configurée pour le service métier, il devient un message expiré et est supprimé de la file d’attente. Lorsque vous supprimez ou renommez un service métier, tous les messages dans la file d’attente de limitation sont supprimés.
Lorsque vous activez ou désactivez le Throttling, ainsi que la configuration des propriétés de limitation, dans l’onglet Propriétés de la page d’accueil du service métier dans Fusion Middleware Control, toutes les modifications que vous appliquez sur cette page prennent effet immédiatement.
-
Configurer le Throttling pour un Business Service
Lorsque le Throttling est activé, le flux des messages est restreint aux points de terminaison et les messages sont traités par priorité. Vous pouvez éventuellement attribuer une priorité aux messages en utilisant les options de routage; dans le cas contraire, les messages sont supprimés selon la méthode du premier entré, premier sorti.
Pour configurer la limitation pour un service métier :
1. Dans le panneau Target Navigation du Fusion Middleware Control, étendez SOA > service-bus et cliquez sur le nom du projet qui contient le business service à configurer.
2. Entrez les informations suivantes :
- Maximum Concurrency : Le nombre maximal d’enregistrements que le service métier peut traiter simultanément. Cette valeur ne peut pas être 0 (zéro); ce doit être un entier positif.
- Throttling Queue : Le nombre maximal de messages dans la file d’attente de limitation ou Throttling Queue. Une valeur de 0 indique qu’il n’y a pas de Throttling Queue.
- Message Expiration : Le nombre de millisecondes qu’un message peut être dans la file d’attente avant l’expiration. Une valeur de 0 signifie que les messages n’expirent pas.
Exemple :
Si vous ne souhaitez plus limiter les messages pour un service métier, vous pouvez désactiver le throttling pour ce service à tout moment. Lorsque vous désactivez le throttling, les messages sont traités normalement et le flux de messages n’est plus limité par les paramètres de throttling.
Pour désactiver la limitation pour un service métier, il suffit de décocher la case Throttling state :
Quelques Erreurs associées à la mauvaise configuration
OSB-380102 (==> Solution : Augmenter la nombre des messages dans la throttling queue) | |
Throttling error: throttling queue for business service refPersonneITE is full and rejected message |
Bonne Lecture !
Sanae