RabbitMQ -service instellen

Het Kader van de Rij van het Bericht (MQF)is een systeem binnen Adobe Commerce dat a moduletoestaat om berichten aan rijen te publiceren. Het bepaalt ook de consumenten die de berichten asynchroon ontvangen.

MQF gebruikt RabbitMQals overseinenmakelaar, die een scalable platform voor het verzenden van en het ontvangen van berichten verstrekt. Het omvat ook een mechanisme voor het opslaan van niet-geleverde berichten. RabbitMQ is gebaseerd op de Geavanceerde specificatie 0.9.1 van het een rij vormen van het Bericht van het Protocol (AMQP).

WARNING
Als u liever een bestaande AMQP-gebaseerde service gebruikt, zoals RabbitMQ , in plaats van Adobe Commerce op cloudinfrastructuur te vertrouwen om deze voor u te maken, gebruikt u de QUEUE_CONFIGURATION -omgevingsvariabele om deze aan uw site te koppelen.

Gebruik de volgende instructies voor de dienstopstelling op de milieu's van de Integratie Pro en van de Starter milieu's, met inbegrip van de master tak.

NOTE
leg een kaartje van de Steun van Adobe Commercevoor om de de dienstconfiguratie op ProProductie en het Opvoeren milieu's te veranderen.

om RabbitMQ toe te laten:

  1. Voeg de vereiste naam, het type en de schijfwaarde (in MB) toe aan het .magento/services.yaml -bestand en aan de geïnstalleerde RabbitMQ-versie.

    code language-yaml
    rabbitmq:
        type: rabbitmq:<version>
        disk: 1024
    
  2. Configureer de relaties in het .magento.app.yaml -bestand.

    code language-yaml
    relationships:
        rabbitmq: "rabbitmq:rabbitmq"
    
  3. U kunt wijzigingen in de code toevoegen, doorvoeren en doorvoeren.

    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. verifieer de de dienstverhoudingen.

TIP
Nadat u de service hebt ingesteld, kunt u de softwareversie van een geïnstalleerde service wijzigen door de configuratiebestanden van services.yaml en .magento.app.yaml bij te werken. Zie de dienstversie van de Veranderingvoor begeleiding bij de bevordering of het degraderen van de dienst.

Verbinding maken met RabbitMQ voor foutopsporing

Voor het zuiveren doeleinden, is het nuttig om met een de dienstinstantie op één van de volgende manieren direct te verbinden:

  • Verbinding maken met uw lokale ontwikkelomgeving
  • Verbinding maken vanuit de toepassing
  • Verbinding maken met uw PHP-toepassing

Verbinding maken met uw lokale ontwikkelomgeving

  1. Meld u aan bij de magento-cloud CLI en het project:

    code language-bash
    magento-cloud login
    
  2. Ontdek de omgeving met RabbitMQ geïnstalleerd en geconfigureerd.

    code language-bash
    magento-cloud environment:checkout <environment-id>
    
  3. SSH gebruiken om verbinding te maken met de cloud-omgeving:

    code language-bash
    magento-cloud ssh
    
  4. Haal de de verbindingsdetails van RabbitMQ en login geloofsbrieven van $MAGENTO_CLOUD_RELATIONSHIPSvariabele terug:

    code language-bash
    echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
    

    of

    code language-bash
    php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"])));'
    

    In het antwoord vindt u bijvoorbeeld de RabbitMQ-informatie:

    code language-json
    {
       "rabbitmq" : [
          {
             "password" : "guest",
             "ip" : "246.0.129.2",
             "scheme" : "amqp",
             "port" : 5672,
             "host" : "rabbitmq.internal",
             "username" : "guest"
          }
       ]
    }
    
  5. Enable local port forward to RabbitMQ (als uw project zich op een verschillend gebied zoals V.S.-3, EU-5, of AP-3 gebied bevindt, substitueer us-3/eu-5/ap-3 for us)

    code language-bash
    ssh -L <port-number>:rabbitmq.internal:<port-number> <project-ID>-<branch-ID>@ssh.us.magentosite.cloud
    

    Een voorbeeld voor toegang tot de RabbitMQ Management Web Interface op http://localhost:15672 is:

    code language-bash
    ssh -L 15672:rabbitmq.internal:15672 <project-ID>-<branch-ID>@ssh.us.magentosite.cloud
    
  6. Terwijl de zitting open is, kunt u een cliënt van RabbitMQ van uw keus van uw lokaal werkstation beginnen, die wordt gevormd om met localhost:<portnumber> te verbinden gebruikend het havenaantal, gebruikersbenaming, en wachtwoordinformatie van de variabele MAGENTO_CLOUD_RELATIONSHIPS.

Verbinding maken vanuit de toepassing

Om met RabbitMQ te verbinden die in een toepassing loopt, installeer een cliënt, zoals amqp-utils, als projectgebiedsdeel in uw .magento.app.yaml dossier.

Bijvoorbeeld:

dependencies:
    ruby:
        amqp-utils: "0.5.1"

Wanneer u zich aanmeldt bij uw PHP-container, voert u een amqp- -opdracht in die beschikbaar is voor het beheren van uw wachtrijen.

Verbinding maken met uw PHP-toepassing

Als u verbinding wilt maken met RabbitMQ met uw PHP-toepassing, voegt u een PHP-bibliotheek toe aan de bronstructuur.

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