[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

Courtier en messages

Adobe Commerce utilise le courtier de messages open source RabbitMQ. Il offre un système de messagerie fiable, hautement disponible, évolutif et portable.

Les files d'attente de messages fournissent un mécanisme de communication asynchrone dans lequel l'expéditeur et le destinataire d'un message ne se contactent pas. Ils n’ont pas non plus besoin de communiquer avec la file d’attente de messages en même temps. Lorsqu'un expéditeur place un message dans une file d'attente, il est stocké jusqu'à ce que le destinataire le reçoive.

Le système de file d’attente des messages doit être établi avant d’installer Adobe Commerce. La séquence de base est la suivante :

  1. Installez RabbitMQ et toutes les conditions préalables requises.
  2. Connectez-vous RabbitMQ à Adobe Commerce.
NOTE
Vous pouvez utiliser MySQL ou RabbitMQ pour le traitement des files d’attente de messages. Pour plus d’informations sur la configuration du système de files d’attente de messages, voir Présentation des files d’attente de messages. Si vous utilisez l’API Bulk avec Adobe Commerce, la configuration du système de file d’attente des messages utilise par défaut RabbitMQ comme courtier de messages. Voir Démarrer les consommateurs de file d’attente de messages pour plus d’informations.

Installer RabbitMQ sur Ubuntu

Pour installer RabbitMQ sur Ubuntu 16, saisissez la commande suivante :

sudo apt install -y rabbitmq-server

Cette commande installe également les packages Erlang requis.

Si vous disposez d'une ancienne version d'Ubuntu, RabbitMQ recommande d'installer le package à partir de son site web.

  1. Téléchargez le package .deb à partir de rabbitmq-server.
  2. Installez le package avec dpkg.

Pour plus d’informations, voir Installation sur Debian/Ubuntu.

Installation de RabbitMQ sous CentOS

Installer Erlang

RabbitMQ a été écrit en utilisant le langage de programmation Erlang, qui doit être installé sur le même système que RabbitMQ.

Voir Installation manuelle pour plus d’informations.

Reportez-vous à la matrice des versions RabbitMQ/Erlang pour installer la version correcte.

Installer RabbitMQ

Le serveur RabbitMQ est inclus sur CentOS, mais la version est souvent ancienne. RabbitMQ recommande d’installer le package à partir de son site web.

Reportez-vous à la page d’installation de RabbitMQ pour obtenir la dernière version prise en charge. Adobe Commerce 2.3 et 2.4 prennent en charge RabbitMQ version 3.8.x.

Pour plus d’informations, voir Installation sur un Linux basé sur RPM.

Configurer RabbitMQ

Consultez la documentation officielle de RabbitMQ pour configurer et gérer les RabbitMQ. Faites attention aux éléments suivants :

  • Variables d’environnement
  • Accès au port
  • Comptes utilisateur par défaut
  • Démarrer et arrêter le courtier
  • Limites du système

Installation avec RabbitMQ et connexion

Si vous installez Adobe Commerce après vous installez RabbitMQ, ajoutez les paramètres de ligne de commande suivants lors de l’installation :

--amqp-host="<hostname>" --amqp-port="5672" --amqp-user="<user_name>" --amqp-password="<password>" --amqp-virtualhost="/"

Où :

Paramètre
Description
--amqp-host
Nom d’hôte sur lequel RabbitMQ est installé.
--amqp-port
Port à utiliser pour la connexion à RabbitMQ. La valeur par défaut est 5672.
--amqp-user
Nom d’utilisateur pour la connexion à RabbitMQ. N’utilisez pas l’guest utilisateur par défaut.
--amqp-password
Mot de passe de connexion à RabbitMQ. N’utilisez pas le mot de passe par défaut guest.
--amqp-virtualhost
L’hôte virtuel pour la connexion à RabbitMQ. La valeur par défaut est /.
--amqp-ssl
Indique s’il faut se connecter à RabbitMQ. La valeur par défaut est false. Si vous définissez la valeur sur true, consultez Configurer SSL pour plus d’informations.

Connexion RabbitMQ

Si Adobe Commerce est déjà installé et que vous souhaitez le connecter à RabbitMQ, ajoutez une section queue dans le fichier <install_directory>/app/etc/env.php afin qu’il soit similaire à ce qui suit :

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => 'rabbitmq.example.com',
      'port' => '11213',
      'user' => 'magento',
      'password' => 'magento',
      'virtualhost' => '/'
     ),
  ),

Vous pouvez également définir RabbitMQ valeurs de configuration à l’aide de la commande bin/magento setup:config:set :

bin/magento setup:config:set --amqp-host="rabbitmq.example.com" --amqp-port="11213" --amqp-user="magento" --amqp-password="magento" --amqp-virtualhost="/"

Après avoir exécuté la commande ou mis à jour le fichier <install_directory>/app/etc/env.php avec les valeurs de configuration AMQP, exécutez bin/magento setup:upgrade pour appliquer les modifications et créer les files d’attente et les échanges requis dans RabbitMQ.

Configurer SSL

Pour configurer la prise en charge de SSL, modifiez les paramètres ssl et ssl_options dans le fichier <install_directory>/app/etc/env.php afin qu’ils soient similaires aux paramètres suivants :

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => 'rabbitmq.example.com',
      'port' => '11213',
      'user' => 'magento',
      'password' => 'magento',
      'virtualhost' => '/',
      'ssl' => 'true',
      'ssl_options' => [
            'cafile' =>  '/etc/pki/tls/certs/DigiCertCA.crt',
            'certfile' => '/path/to/magento/app/etc/ssl/test-rabbit.crt',
            'keyfile' => '/path/to/magento/app/etc/ssl/test-rabbit.key'
       ],
     ),
  ),

Démarrer les consommateurs et consommatrices de file d’attente de messages

Après avoir connecté Adobe Commerce et RabbitMQ, vous devez démarrer les consommateurs de file d’attente de messages. Voir Configurer les files d’attente de messages pour plus d’informations.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995