Gestore messaggi

Adobe Commerce utilizza il broker di messaggi open-source RabbitMQ. Offre un sistema di messaggistica affidabile, ad alta disponibilità, scalabile e portatile.

Le code di messaggi forniscono un meccanismo di comunicazione asincrona in cui il mittente e il destinatario di un messaggio non si contattano a vicenda. Non è necessario che comunichino con la coda di messaggi contemporaneamente. Quando un mittente inserisce un messaggio in una coda, questo viene memorizzato fino a quando il destinatario non lo riceve.

Prima di installare Adobe Commerce, è necessario stabilire il sistema della coda di messaggi. La sequenza di base è:

  1. Installa RabbitMQ ed eventuali prerequisiti.
  2. Connetti RabbitMQ ad Adobe Commerce.
NOTE
È possibile utilizzare MySQL o RabbitMQ per l'elaborazione della coda di messaggi. Per informazioni dettagliate sulla configurazione del sistema di code di messaggi, vedere Panoramica delle code di messaggi. Se utilizzi l'API in blocco con Adobe Commerce, per impostazione predefinita la configurazione del sistema della coda di messaggi utilizza RabbitMQ come gestore di messaggi. Per ulteriori informazioni, vedere Avvia consumer della coda messaggi.

Installa RabbitMQ su Ubuntu

Per installare RabbitMQ su Ubuntu 16, immettere il comando seguente:

sudo apt install -y rabbitmq-server

Questo comando installa anche i pacchetti Erlang richiesti.

Se si dispone di una versione precedente di Ubuntu, RabbitMQ consiglia di installare il pacchetto dal sito Web.

  1. Scarica il pacchetto .deb da rabbitmq-server.
  2. Installa il pacchetto con dpkg.

Per ulteriori informazioni, vedere Installazione su Debian/Ubuntu.

Installa RabbitMQ su CentOS

Installa Erlang

RabbitMQ è stato scritto utilizzando il linguaggio di programmazione Erlang, che deve essere installato nello stesso sistema di RabbitMQ.

Per ulteriori informazioni, vedere Installazione manuale.

Per installare la versione corretta, consultare la RabbitMQ/Erlang versione.

Installa RabbitMQ

Il server RabbitMQ è incluso in CentOS, ma la versione è spesso precedente. RabbitMQ consiglia di installare il pacchetto dal proprio sito Web.

Per ottenere la versione supportata più recente, fare riferimento alla pagina di installazione di RabbitMQ. Adobe Commerce 2.3 e 2.4 supportano RabbitMQ 3.8.x.

Per ulteriori informazioni, vedere Installazione su Linux basato su RPM.

Configura RabbitMQ

Consulta la documentazione ufficiale di RabbitMQ per configurare e gestire RabbitMQ. Presta attenzione ai seguenti elementi:

  • Variabili di ambiente
  • Accesso alla porta
  • Account utente predefiniti
  • Avvio e arresto del broker
  • Limiti di sistema

Installa con RabbitMQ e connetti

Se installi Adobe Commerce dopo installi RabbitMQ, aggiungi i seguenti parametri della riga di comando durante l'installazione:

--amqp-host="<hostname>" --amqp-port="5672" --amqp-user="<user_name>" --amqp-password="<password>" --amqp-virtualhost="/"

Dove:

Parametro
Descrizione
--amqp-host
Il nome host in cui è installato RabbitMQ.
--amqp-port
Porta da utilizzare per la connessione a RabbitMQ. Il valore predefinito è 5672.
--amqp-user
Nome utente per la connessione a RabbitMQ. Non utilizzare l'utente predefinito guest.
--amqp-password
Password per la connessione a RabbitMQ. Non utilizzare la password predefinita guest.
--amqp-virtualhost
Host virtuale per la connessione a RabbitMQ. Il valore predefinito è /.
--amqp-ssl
Indica se connettersi a RabbitMQ. Il valore predefinito è false. Se imposti il valore su true, consulta Configurare SSL per ulteriori informazioni.

Connetti RabbitMQ

Se Adobe Commerce è già installato e si desidera connetterlo a RabbitMQ, aggiungere una sezione queue nel file <install_directory>/app/etc/env.php in modo che sia simile alla seguente:

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => 'rabbitmq.example.com',
      'port' => '11213',
      'user' => 'magento',
      'password' => 'magento',
      'virtualhost' => '/'
     ),
  ),

È inoltre possibile impostare RabbitMQ valori di configurazione utilizzando il comando bin/magento setup:config:set:

bin/magento setup:config:set --amqp-host="rabbitmq.example.com" --amqp-port="11213" --amqp-user="magento" --amqp-password="magento" --amqp-virtualhost="/"

Dopo aver eseguito il comando o aggiornato il file <install_directory>/app/etc/env.php con i valori di configurazione AMQP, eseguire bin/magento setup:upgrade per applicare le modifiche e creare le code e gli scambi necessari in RabbitMQ.

Configurare SSL

Per configurare il supporto per SSL, modificare i parametri ssl e ssl_options nel file <install_directory>/app/etc/env.php in modo che siano simili ai seguenti:

'queue' =>
  array (
    'amqp' =>
    array (
      'host' => 'rabbitmq.example.com',
      'port' => '11213',
      'user' => 'magento',
      'password' => 'magento',
      'virtualhost' => '/',
      'ssl' => 'true',
      'ssl_options' => [
            'cafile' =>  '/etc/pki/tls/certs/DigiCertCA.crt',
            'certfile' => '/path/to/magento/app/etc/ssl/test-rabbit.crt',
            'keyfile' => '/path/to/magento/app/etc/ssl/test-rabbit.key'
       ],
     ),
  ),

Avvia i consumer della coda di messaggi

Dopo aver connesso Adobe Commerce e RabbitMQ, è necessario avviare i consumer della coda messaggi. Per ulteriori informazioni, vedere Configurare le code dei messaggi.

recommendation-more-help
0f8e7db5-0e9c-4002-a5b8-a0088077d995