Konfigurera Amazon Message Queue
- Ämnen:
- Konfiguration
Skapat för:
- Erfaren
- Administratör
- Utvecklare
Från och med Commerce 2.4.3 är Amazon Message Queue (MQ) tillgängligt som en molnklar ersättning för lokala meddelandeköinstanser.
Information om hur du skapar en meddelandekö på AWS finns i Konfigurera Amazon MQ i AWS-dokumentationen.
Konfigurera Commerce för AWS MQ
Om du vill ansluta till AWS MQ-tjänsten konfigurerar du objektet queue.amqp
i filen env.php
.
AWS Message Queue kräver en SSL/TLS-anslutning.
'queue' => [
'amqp' => [
'host' => '[host]', //example: c-bf4kk1c5-5gcc-4b43-9b9e-8f5b54d234.mq.us-west-3.amazonaws.com
'port' => 5671,
'user' => 'yourusername',
'password' => 'yourpassword',
'virtualhost' => '/',
// AWS fields to add
'ssl' => 'true'
]
],
Var:
host
- URL:en för AMQP-slutpunkten, som du kommer åt genom att klicka på mäklarnamnet i AWS (ta bort"https://" och det efterföljande portnumret)user
- Det användarnamn som angavs när AWS MQ-mäklaren skapadespassword
- Lösenordsvärdet som angavs när AWS MQ-mäklaren skapades
När du har redigerat filen env.php
kör du följande kommando för att slutföra installationen:
bin/magento setup:upgrade
Hur Commerce använder AWS MQ
Meddelandekökonsumenten async.operations.all
använder AMQP-anslutningen.
Den här konsumenten skickar alla ämnesnamn som har prefixats med async
via AWS MQ-anslutningen.
I InventoryCatalog
finns till exempel:
async.V1.inventory.bulk-product-source-assign.POST
async.V1.inventory.bulk-product-source-unassign.POST
async.V1.inventory.bulk-product-source-transfer.POST
Standardkonfigurationen för InventoryCatalog
publicerar inte meddelanden till RabbitMQ. Standardbeteendet är att utföra åtgärden i samma användartråd. Aktivera cataloginventory/bulk_operations/async
om du vill att InventoryCatalog
ska publicera meddelanden. Gå till Lager > Konfiguration > Katalog > Inventering > Admin - gruppåtgärder och ange Run asynchronously
till Ja från administratören.
Testar meddelandekön
Så här testar du meddelanden som skickas från Commerce till RabbitMQ:
-
Logga in på webbkonsolen RabbitMQ i AWS för att övervaka köer.
-
Skapa en produkt i Admin.
-
Skapa en lagerkälla.
-
Aktivera Lagrar > Konfiguration > Katalog > Lager > Admin - gruppåtgärder > Kör asynkront.
-
Gå till Katalog > Produkter. Markera den produkt som skapats ovan i rutnätet och klicka på Tilldela lager-Source.
-
Klicka på Spara och stäng för att slutföra processen.
Du bör nu se meddelanden i webbkonsolen RabbitMQ.
-
Starta meddelandekökonsumenten
async.operations.all
.bin/magento queue:consumers:start async.operations.all
Du bör nu se meddelandet som står i kö bearbetas i webbkonsolen RabbitMQ.
Kontrollera att lagerkällor har ändrats i produkten i Admin.