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.

WARNING
Se preferir usar um serviço existente baseado em AMQP, como RabbitMQ, em vez de depender do Adobe Commerce na infraestrutura em nuvem para criá-la para você, use o 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.

NOTE
Enviar um tíquete de suporte da Adobe Commerce para alterar a configuração do serviço em ambientes de produção e preparo profissionais.

Para ativar o RabbitMQ:

  1. 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
    
  2. Configure os relacionamentos no .magento.app.yaml arquivo.

    code language-yaml
    relationships:
        rabbitmq: "rabbitmq:rabbitmq"
    
  3. 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>
    
  4. Verificar as relações de serviço.

TIP
Após a configuração inicial do serviço, é possível alterar a versão do software de um serviço instalado atualizando o 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

  1. Faça logon no magento-cloud CLI e projeto:

    code language-bash
    magento-cloud login
    
  2. Confira o ambiente com o RabbitMQ instalado e configurado.

    code language-bash
    magento-cloud environment:checkout <environment-id>
    
  3. Usar SSH para se conectar ao ambiente de nuvem:

    code language-bash
    magento-cloud ssh
    
  4. 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"
          }
       ]
    }
    
  5. 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 para us)

    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
    
  6. 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.

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26