Présentation des files d’attente de messages
- Rubriques :
- Configuration
Créé pour :
- Expérimenté
- Administration
- Développeur
Le Message Queue Framework (MQF) est un système qui permet à un module de publier des messages dans les files d’attente. Il définit également les consommateurs qui recevront les messages de manière asynchrone. Le MQF utilise RabbitMQ comme courtier de messagerie, qui fournit une plateforme évolutive pour l’envoi et la réception de messages. Il comprend également un mécanisme de stockage des messages non diffusés. RabbitMQ est basé sur la spécification AMQP (Advanced Message Queuing Protocol) 0.9.1.
Le diagramme suivant illustre la structure de la file d’attente des messages :
-
Un éditeur est un composant qui envoie des messages à un exchange. Il connaît l’exchange vers lequel publier et le format des messages qu’il envoie.
-
Un exchange reçoit les messages des éditeurs et les envoie aux files d’attente. Bien que RabbitMQ prenne en charge plusieurs types d’exchanges, Commerce utilise uniquement les exchanges de rubrique. Une rubrique comprend une clé de routage, qui contient des chaînes de texte séparées par des points. Le format d’un nom de rubrique est
string1.string2
: par exemple,customer.created
oucustomer.sent.email
.Le courtier vous permet d’utiliser des caractères génériques lors de la définition de règles pour le transfert de messages. Vous pouvez utiliser un astérisque (
*
) pour remplacer une chaîne one ou un signe dièse (#
) pour remplacer 0 ou plusieurs chaînes. Par exemple,customer.*
filtre surcustomer.create
etcustomer.delete
, mais pascustomer.sent.email
. Cependant,customer.#
filtrerait surcustomer.create
,customer.delete
etcustomer.sent.email
. -
Une file d’attente est une mémoire tampon qui stocke les messages.
-
Un consommateur reçoit des messages. Il sait quelle file d'attente utiliser. Il peut mapper les processeurs du message à une file d’attente spécifique.
Un système de file d’attente de messages de base peut également être configuré sans utiliser RabbitMQ. Dans ce système, un adaptateur MySQL stocke les messages dans la base de données. Trois tables de base de données (queue
, queue_message
et queue_message_status
) gèrent la charge de travail de la file d’attente des messages. Les tâches Cron permettent aux consommateurs de recevoir des messages. Cette solution n’est pas très évolutive. RabbitMQ doit être utilisé dans la mesure du possible.
Commerce
- Vue d’ensemble
- Configuration générale
- Déploiement
- Cache
- Présentation de la mise en cache
- Types de cache
- Options de cache
- Cache L2
- Redis
- Valkey
- Vernis
- Serveur Web
- Configuration de l’application Commerce
- Configuration avancée du vernis
- Effacement du cache
- Effacement du cache de plusieurs instances Varnish
- Vérifier la configuration du vernis
- Bloc d’ESI vernis
- Cache de contenu statique
- Ligne de commande
- Outil de ligne de commande
- Commandes communes
- Activer la journalisation
- Gérer le cache
- Gestion des indexeurs
- Configuration des tâches cron
- Compiler le code
- Mode de fonctionnement
- Démarrer les consommateurs des files d’attente de messages
- Surligneur URN
- Rapports de dépendance
- Localisation
- Gestion de la configuration
- Vue statique
- Créer des liens symboliques
- Exécuter des tests unitaires
- Convertir les fichiers de disposition
- Générer des données pour les tests de performance
- Exécution des utilitaires d’assistance (Commerce uniquement)
- Fichiers de configuration
- Chemins de configuration
- Tâches cron
- Logs
- Files d’attente des messages
- Plusieurs sites
- Moteur de recherche
- Sécurité
- Stockage
- Retour aux guides opérationnels