courtier de 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 simultanément avec la file d’attente des messages. Lorsqu'un expéditeur place un message dans une file d'attente, il est stocké jusqu'à ce que le destinataire les reçoive.

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

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

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 d’erreur requis.

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

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

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

Installer RabbitMQ sur CentOS

Installation de l’erreur

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.

Pour installer la version correcte, reportez-vous à la matrice de version RabbitMQ/Erlang.

Installer RabbitMQ

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

Consultez 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 3.8.x.

Pour plus d’informations, voir Installation sous Linux RPM .

Configurer RabbitMQ

Consultez la documentation officielle RabbitMQ pour configurer et gérer RabbitMQ. Prêtez attention aux éléments suivants :

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

Installation avec RabbitMQ et connexion

Si vous installez Adobe Commerce après avoir installé 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’utilisateur par défaut guest.
--amqp-password
Mot de passe de la 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, voir Configuration de SSL pour plus d’informations.

Connexion RabbitMQ

Si vous avez déjà installé Adobe Commerce et que vous souhaitez le connecter à RabbitMQ, ajoutez une section queue dans le fichier <install_directory>/app/etc/env.php afin qu’elle 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 des valeurs de configuration RabbitMQ à 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 des valeurs de configuration AMQP, exécutez bin/magento setup:upgrade pour appliquer les modifications et créer les files d’attente et les exchanges requis dans RabbitMQ.

Configurer SSL

Pour configurer la prise en charge du protocole SSL, modifiez les paramètres ssl et ssl_options du fichier <install_directory>/app/etc/env.php afin qu’ils ressemblent à ce qui suit :

'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émarrez les consommateurs de la file d’attente de messages.

Après avoir connecté Adobe Commerce et RabbitMQ, vous devez démarrer les consommateurs de la file d’attente des messages. Pour plus d’informations, voir Configuration des files d’attente de messages .

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