[PaaS のみ]{class="badge informative" title="Adobe Commerce on Cloud プロジェクト(Adobeが管理する PaaS インフラストラクチャ)およびオンプレミスプロジェクトにのみ適用されます。"}

メッセージブローカー(RabbitMQ)

Adobe Commerceは、RabbitMQ オープンソースのメッセージブローカーを使用しています。 信頼性、高可用性、拡張性、ポータブルなメッセージングシステムを提供します。

メッセージキューは、メッセージの送信者と受信者が互いに接触しない非同期通信メカニズムを提供します。 また、メッセージキューと同時に通信する必要もありません。 送信者がメッセージをキューに入れると、受信者が受信するまで保存されます。

Adobe Commerceをインストールする前に、メッセージキューシステムを確立する必要があります。 基本的なシーケンスは次のとおりです。

  1. RabbitMQと前提条件をインストールします。
  2. RabbitMQをAdobe Commerceに接続します。
NOTE
メッセージキュー処理には、MySQLまたはRabbitMQを使用できます。 メッセージキューシステムの設定について詳しくは、​ メッセージキューの概要を参照してください。 Adobe CommerceでBulk APIを使用している場合、メッセージキューシステム設定は、デフォルトでRabbitMQをメッセージブローカーとして使用します。 詳しくは、​ メッセージキューコンシューマーの開始を参照してください。

UbuntuにRabbitMQをインストール

Ubuntu 16にRabbitMQをインストールするには、次のコマンドを入力します。

sudo apt install -y rabbitmq-server

このコマンドは、必要なErlang パッケージもインストールします。

古いバージョンのUbuntuをお持ちの場合、RabbitMQはWeb サイトからパッケージをインストールすることをお勧めします。

  1. rabbitmq-serverから.deb パッケージをダウンロードします。
  2. dpkgのパッケージをインストールします。

詳しくは、Debian/Ubuntuへのインストール ​を参照してください。

CentOSにRabbitMQをインストール

Erlangのインストール

RabbitMQはErlang プログラミング言語を使用して作成されました。これはRabbitMQと同じシステムにインストールする必要があります。

詳しくは、手動インストール ​を参照してください。

正しいバージョンをインストールするには、RabbitMQ/Erlang バージョン マトリックス ​を参照してください。

RabbitMQをインストール

RabbitMQ サーバーはCentOSに含まれていますが、多くの場合、バージョンが古くなっています。 RabbitMQ様は、web サイトからパッケージをインストールすることをお勧めします。

サポートされている最新バージョンを取得するには、RabbitMQ インストールページを参照してください。 Adobe Commerce 2.3および2.4では、RabbitMQ 3.8.xがサポートされています。

詳しくは、RPM ベースのLinuxへのインストールを参照してください。

RabbitMQの設定

RabbitMQの設定と管理については、RabbitMQの公式ドキュメントを参照してください。 次の項目に注意してください。

  • 環境変数
  • ポートアクセス
  • デフォルトユーザーアカウント
  • ブローカーの開始と停止
  • システム制限

RabbitMQでインストールして接続

RabbitMQをインストールした​ 後にAdobe Commerce ​をインストールする場合は、インストール中に次のコマンドラインパラメーターを追加します。

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

どこで:

パラメーター
説明
--amqp-host
RabbitMQがインストールされているホスト名。
--amqp-port
RabbitMQへの接続に使用するポート。 デフォルトは5672です。
--amqp-user
RabbitMQに接続するためのユーザー名。 既定のユーザーguestは使用しないでください。
--amqp-password
RabbitMQに接続するためのパスワード。 既定のパスワード guestは使用しないでください。
--amqp-virtualhost
RabbitMQに接続するための仮想ホスト。 デフォルトは/です。
--amqp-ssl
RabbitMQに接続するかどうかを示します。 デフォルトはfalseです。 値をtrueに設定する場合は、SSLの設定を参照してください。

RabbitMQを接続

既にAdobe Commerceがインストールされていて、RabbitMQに接続する場合は、<install_directory>/app/etc/env.php ファイルにqueue セクションを追加して、次のようになります。

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

bin/magento setup:config:set コマンドを使用してRabbitMQの設定値を設定することもできます。

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

コマンドを実行するか、AMQP設定値を含む<install_directory>/app/etc/env.php ファイルを更新した後、bin/magento setup:upgradeを実行して変更を適用し、必要なキューと交換をRabbitMQに作成します。

SSLの設定

SSLのサポートを設定するには、<install_directory>/app/etc/env.php ファイルのsslおよびssl_options パラメーターを編集して、次のようになります。

'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'
       ],
     ),
  ),

メッセージキューコンシューマーを開始

Adobe CommerceとRabbitMQを接続したら、メッセージキューコンシューマーを開始する必要があります。 詳しくは、​ メッセージキューの設定を参照してください。

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