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).
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.
om RabbitMQ toe te laten:
-
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
-
Configureer de relaties in het
.magento.app.yaml
-bestand.code language-yaml relationships: rabbitmq: "rabbitmq:rabbitmq"
-
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>
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
-
Meld u aan bij de
magento-cloud
CLI en het project:code language-bash magento-cloud login
-
Ontdek de omgeving met RabbitMQ geïnstalleerd en geconfigureerd.
code language-bash magento-cloud environment:checkout <environment-id>
-
SSH gebruiken om verbinding te maken met de cloud-omgeving:
code language-bash magento-cloud ssh
-
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" } ] }
-
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
forus
)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
-
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.