Configurar RabbitMQ serviço
A variável Estrutura da Fila de Mensagens (MQF) O é um sistema da Adobe Commerce que permite módulo para publicar mensagens em filas. Também define os consumidores que recebem as mensagens de forma assíncrona.
O MQF utiliza RabbitMQ como o agente de mensagens, que fornece uma plataforma escalável para enviar e receber mensagens. Também inclui um mecanismo para armazenar mensagens não entregues. RabbitMQ é baseado na especificação do protocolo AMQP 0.9.1.
QUEUE_CONFIGURATION
para conectá-la ao seu site.Use as instruções a seguir para configurar o serviço em ambientes Pro Integration e Starter, incluindo o master
filial.
Para ativar o RabbitMQ:
-
Adicione o nome, o tipo e o valor de disco necessário (em MB) à
.magento/services.yaml
juntamente com a versão instalada do RabbitMQ.code language-yaml rabbitmq: type: rabbitmq:<version> disk: 1024
-
Configure os relacionamentos no
.magento.app.yaml
arquivo.code language-yaml relationships: rabbitmq: "rabbitmq:rabbitmq"
-
Adicionar, confirmar e enviar por push as alterações de código.
code language-bash git add .magento/services.yaml .magento.app.yaml
code language-bash git commit -m "Enable RabbitMQ service"
code language-bash git push origin <branch-name>
services.yaml
e .magento.app.yaml
arquivos de configuração. Consulte Alterar versão do serviço para obter orientação sobre como atualizar ou rebaixar um serviço.Conectar-se ao RabbitMQ para depuração
Para fins de depuração, é útil se conectar diretamente a uma instância de serviço de uma das seguintes maneiras:
- Conectar-se a partir do ambiente de desenvolvimento local
- Conectar a partir do aplicativo
- Conectar a partir do aplicativo PHP
Conectar-se a partir do ambiente de desenvolvimento local
-
Faça logon no
magento-cloud
CLI e projeto:code language-bash magento-cloud login
-
Confira o ambiente com o RabbitMQ instalado e configurado.
code language-bash magento-cloud environment:checkout <environment-id>
-
Usar SSH para se conectar ao ambiente de nuvem:
code language-bash magento-cloud ssh
-
Recupere os detalhes de conexão e as credenciais de logon do RabbitMQ na $MAGENTO_CLOUD_RELATIONSHIPS Variável:
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
ou
code language-bash php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"])));'
Na resposta, localize as informações do RabbitMQ, por exemplo:
code language-json { "rabbitmq" : [ { "password" : "guest", "ip" : "246.0.129.2", "scheme" : "amqp", "port" : 5672, "host" : "rabbitmq.internal", "username" : "guest" } ] }
-
Ativar o encaminhamento de porta local para o RabbitMQ (se o projeto estiver localizado em uma região diferente, como US-3, EU-5 ou AP-3), substitua
us-3
/eu-5
/ap-3
paraus
)code language-bash ssh -L <port-number>:rabbitmq.internal:<port-number> <project-ID>-<branch-ID>@ssh.us.magentosite.cloud
Um exemplo de acesso à interface da Web de gerenciamento do RabbitMQ em
http://localhost:15672
é:code language-bash ssh -L 15672:rabbitmq.internal:15672 <project-ID>-<branch-ID>@ssh.us.magentosite.cloud
-
Enquanto a sessão estiver aberta, você poderá iniciar um cliente RabbitMQ de sua escolha na estação de trabalho local, configurado para se conectar à
localhost:<portnumber>
usando as informações de número da porta, nome de usuário e senha da variável MAGENTO_CLOUD_RELATIONSHIPS.
Conectar a partir do aplicativo
Para se conectar ao RabbitMQ em execução em um aplicativo, instale um cliente, como amqp-utils, como uma dependência de projeto no .magento.app.yaml
arquivo.
Por exemplo,
dependencies:
ruby:
amqp-utils: "0.5.1"
Quando você faz login em seu recipiente PHP, você digita qualquer amqp-
comando disponível para gerenciar as filas.
Conectar a partir do aplicativo PHP
Para conectar-se ao RabbitMQ usando seu aplicativo PHP, adicione um biblioteca à árvore de origem.