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.