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:

  1. Instale RabbitMQ y todos los requisitos previos.
  2. Conectar RabbitMQ a Adobe Commerce.
NOTE
Puede utilizar MySQL o RabbitMQ para el procesamiento de colas de mensajes. Para obtener más información sobre la configuración del sistema de colas de mensajes, consulte Resumen de colas de mensajes. Si utiliza la API en bloque con Adobe Commerce, la configuración predeterminada del sistema de colas de mensajes será el uso de RabbitMQ como intermediario de mensajes. Consulte Iniciar consumidores de cola de mensajes para obtener más información.

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.

  1. Descargue el paquete .deb desde rabbitmq-server.
  2. 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:

Parámetro
Descripción
--amqp-host
Nombre de host donde está instalado RabbitMQ.
--amqp-port
El puerto que se va a usar para conectarse a RabbitMQ. El valor predeterminado es 5672.
--amqp-user
Nombre de usuario para conectarse a RabbitMQ. No use el usuario predeterminado guest.
--amqp-password
Contraseña para conectarse a RabbitMQ. No use la contraseña predeterminada guest.
--amqp-virtualhost
Host virtual para conectarse a RabbitMQ. El valor predeterminado es /.
--amqp-ssl
Indica si se debe conectar con RabbitMQ. El valor predeterminado es 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.

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