Konfigurera Amazon Message Queue
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 InventoryCatalog
om du vill att cataloginventory/bulk_operations/async
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
.code language-bash 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.