メッセージブローカー(RabbitMQ)
Adobe Commerceは、RabbitMQ オープンソースのメッセージブローカーを使用しています。 信頼性、高可用性、拡張性、ポータブルなメッセージングシステムを提供します。
メッセージキューは、メッセージの送信者と受信者が互いに接触しない非同期通信メカニズムを提供します。 また、メッセージキューと同時に通信する必要もありません。 送信者がメッセージをキューに入れると、受信者が受信するまで保存されます。
Adobe Commerceをインストールする前に、メッセージキューシステムを確立する必要があります。 基本的なシーケンスは次のとおりです。
- RabbitMQと前提条件をインストールします。
- RabbitMQをAdobe Commerceに接続します。
UbuntuにRabbitMQをインストール
Ubuntu 16にRabbitMQをインストールするには、次のコマンドを入力します。
sudo apt install -y rabbitmq-server
このコマンドは、必要なErlang パッケージもインストールします。
古いバージョンのUbuntuをお持ちの場合、RabbitMQはWeb サイトからパッケージをインストールすることをお勧めします。
- rabbitmq-serverから.deb パッケージをダウンロードします。
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--amqp-port5672です。--amqp-userguestは使用しないでください。--amqp-passwordguestは使用しないでください。--amqp-virtualhost/です。--amqp-sslfalseです。 値を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を接続したら、メッセージキューコンシューマーを開始する必要があります。 詳しくは、 メッセージキューの設定を参照してください。