Agente de mensagens
O Adobe Commerce usa o agente de mensagens de código aberto RabbitMQ. Ele oferece um sistema de mensagens confiável, altamente disponível, escalável e portátil.
As filas de mensagens fornecem um mecanismo de comunicação assíncrono no qual o remetente e o destinatário de uma mensagem não entram em contato entre si. Eles também não precisam se comunicar com a fila de mensagens ao mesmo tempo. Quando um remetente coloca uma mensagem em uma fila, ela é armazenada até que o destinatário a receba.
O sistema de fila de mensagens deve ser estabelecido antes da instalação do Adobe Commerce. A sequência básica é:
- Instale o RabbitMQ e qualquer pré-requisito.
- Conectar RabbitMQ ao Adobe Commerce.
Instalar o RabbitMQ no Ubuntu
Para instalar o RabbitMQ no Ubuntu 16, digite o seguinte comando:
sudo apt install -y rabbitmq-server
Este comando também instala os pacotes Erlang necessários.
Se você tiver uma versão mais antiga do Ubuntu, a RabbitMQ recomenda instalar o pacote de seu site.
- Baixe o pacote .deb de rabbitmq-server.
- Instalar o pacote com
dpkg
.
Consulte Instalando no Debian/Ubuntu para obter mais informações.
Instalar RabbitMQ no CentOS
Instalar Erlang
RabbitMQ foi gravado usando a linguagem de programação Erlang, que deve ser instalada no mesmo sistema que RabbitMQ.
Consulte Instalação manual para obter mais informações.
Consulte a RabbitMQ/Erlang version matrix para instalar a versão correta.
Instalar RabbitMQ
O servidor RabbitMQ está incluído no CentOS, mas a versão é frequentemente antiga. O RabbitMQ recomenda instalar o pacote de seu site.
Consulte a página de instalação RabbitMQ para obter a versão mais recente com suporte. O Adobe Commerce 2.3 e 2.4 são compatíveis com RabbitMQ 3.8.x.
Consulte Instalando no Linux baseado em RPM para obter mais informações.
Configurar RabbitMQ
Consulte a documentação oficial RabbitMQ para configurar e gerenciar RabbitMQ. Preste atenção aos seguintes itens:
- Variáveis de ambiente
- Acesso à porta
- Contas de usuário padrão
- Iniciando e interrompendo o agente
- Limites do sistema
Instalar com RabbitMQ e conectar
Se você instalar o Adobe Commerce depois de instalar o RabbitMQ, adicione os seguintes parâmetros de linha de comando durante a instalação:
--amqp-host="<hostname>" --amqp-port="5672" --amqp-user="<user_name>" --amqp-password="<password>" --amqp-virtualhost="/"
Onde:
--amqp-host
--amqp-port
5672
.--amqp-user
guest
.--amqp-password
guest
.--amqp-virtualhost
/
.--amqp-ssl
false
. Se você definir o valor como true, consulte Configurar SSL para obter mais informações.Conectar RabbitMQ
Se você já tiver o Adobe Commerce instalado e quiser conectá-lo ao RabbitMQ, adicione uma seção queue
no arquivo <install_directory>/app/etc/env.php
para que ela seja semelhante ao seguinte:
'queue' =>
array (
'amqp' =>
array (
'host' => 'rabbitmq.example.com',
'port' => '11213',
'user' => 'magento',
'password' => 'magento',
'virtualhost' => '/'
),
),
Você também pode definir valores de configuração RabbitMQ usando o 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="/"
Após executar o comando ou atualizar o arquivo <install_directory>/app/etc/env.php
com valores de configuração AMQP, execute bin/magento setup:upgrade
para aplicar as alterações e criar as filas e trocas necessárias em RabbitMQ.
Configurar SSL
Para configurar o suporte para SSL, edite os parâmetros ssl
e ssl_options
no arquivo <install_directory>/app/etc/env.php
para que sejam semelhantes ao seguinte:
'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 os consumidores da fila de mensagens
Depois de conectar o Adobe Commerce e o RabbitMQ, você deve iniciar os consumidores da fila de mensagens. Consulte Configurar filas de mensagens para obter detalhes.