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 :
- Installez RabbitMQ et toutes les conditions préalables requises.
- Connectez-vous RabbitMQ à Adobe Commerce.
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.
- Téléchargez le package .deb à partir de rabbitmq-server.
- 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ù :
--amqp-host
--amqp-port
5672
.--amqp-user
guest
utilisateur par défaut.--amqp-password
guest
.--amqp-virtualhost
/
.--amqp-ssl
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.