Agente de mensajes
Adobe Commerce usa el agente de mensajes de código abierto RabbitMQ. Ofrece un sistema de mensajería fiable, de alta disponibilidad, escalable y portátil.
Las colas de mensajes proporcionan un mecanismo de comunicaciones asincrónico en el que el remitente y el receptor de un mensaje no se ponen en contacto entre sí. Tampoco necesitan comunicarse con la cola de mensajes al mismo tiempo. Cuando un remitente coloca un mensaje en cola, se almacena hasta que el destinatario lo recibe.
Debe establecerse el sistema de cola de mensajes antes de instalar Adobe Commerce. La secuencia básica es:
- Instale RabbitMQ y todos los requisitos previos.
- Conectar RabbitMQ a Adobe Commerce.
Instalar RabbitMQ en Ubuntu
Para instalar RabbitMQ en Ubuntu 16, ingrese el siguiente comando:
sudo apt install -y rabbitmq-server
Este comando también instala los paquetes de Erlang necesarios.
Si tiene una versión anterior de Ubuntu, RabbitMQ recomienda instalar el paquete desde su sitio web.
- Descargue el paquete .deb desde rabbitmq-server.
- Instale el paquete con
dpkg
.
Consulte Instalar en Debian/Ubuntu para obtener más información.
Instalar RabbitMQ en CentOS
Instalar Erlang
RabbitMQ se escribió con el lenguaje de programación Erlang, que debe instalarse en el mismo sistema que RabbitMQ.
Consulte Instalación manual para obtener más información.
Consulte RabbitMQ/Erlang version matrix para instalar la versión correcta.
Instalar RabbitMQ
El servidor RabbitMQ está incluido en CentOS, pero la versión suele ser antigua. RabbitMQ recomienda instalar el paquete desde su sitio web.
Consulte la página de instalación de RabbitMQ para obtener la última versión compatible. Adobe Commerce 2.3 y 2.4 admiten RabbitMQ 3.8.x.
Consulte Instalación en Linux basado en RPM para obtener más información.
Configurar RabbitMQ
Revise la documentación oficial de RabbitMQ para configurar y administrar RabbitMQ. Preste atención a los siguientes elementos:
- Variables de entorno
- Acceso al puerto
- Cuentas de usuario predeterminadas
- Inicio y detención del agente
- Límites del sistema
Instalar con RabbitMQ y conectar
Si instala Adobe Commerce después de, instale RabbitMQ y agregue los siguientes parámetros de línea de comandos durante la instalación:
--amqp-host="<hostname>" --amqp-port="5672" --amqp-user="<user_name>" --amqp-password="<password>" --amqp-virtualhost="/"
Donde:
--amqp-host
--amqp-port
5672
.--amqp-user
guest
.--amqp-password
guest
.--amqp-virtualhost
/
.--amqp-ssl
false
. Si establece el valor en true, consulte Configuración de SSL para obtener más información.Conectar RabbitMQ
Si ya tiene Adobe Commerce instalado y desea conectarlo a RabbitMQ, agregue una sección queue
en el archivo <install_directory>/app/etc/env.php
para que sea similar a lo siguiente:
'queue' =>
array (
'amqp' =>
array (
'host' => 'rabbitmq.example.com',
'port' => '11213',
'user' => 'magento',
'password' => 'magento',
'virtualhost' => '/'
),
),
También puede establecer los valores de configuración de RabbitMQ mediante el comando 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="/"
Después de ejecutar el comando o actualizar el archivo <install_directory>/app/etc/env.php
con valores de configuración de AMQP, ejecute bin/magento setup:upgrade
para aplicar los cambios y crear las colas e intercambios necesarios en RabbitMQ.
Configurar SSL
Para configurar la compatibilidad con SSL, edite los parámetros ssl
y ssl_options
en el archivo <install_directory>/app/etc/env.php
de modo que sean similares a los siguientes:
'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'
],
),
),
Iniciar los consumidores de cola de mensajes
Una vez que haya conectado Adobe Commerce y RabbitMQ, debe iniciar los consumidores de cola de mensajes. Consulte Configurar colas de mensajes para obtener más información.