の設定 RabbitMQ サービス
この メッセージキューフレームワーク(MQF) は、Adobe Commerce内のシステムで、 モジュール メッセージをキューに公開します。 また、メッセージを非同期で受信するコンシューマーも定義します。
この MQF は、 RabbitMQ メッセージを送受信するためのスケーラブルなプラットフォームを提供するメッセージングブローカーとして。 また、未配信メッセージを保存するメカニズムも含まれています。 RabbitMQ は、Advanced Message Queuing Protocol (AMQP) 0.9.1 仕様に基づいています。
QUEUE_CONFIGURATION
サイトに接続するための環境変数。Pro 統合環境およびスターター環境でのサービス設定については、以下の手順に従ってください。 master
分岐。
RabbitMQを有効にするには:
-
必要な名前、タイプ、ディスク値(MB 単位)をに追加します
.magento/services.yaml
ファイルと、インストールされているRabbitMQのバージョン。code language-yaml rabbitmq: type: rabbitmq:<version> disk: 1024
-
での関係の設定
.magento.app.yaml
ファイル。code language-yaml relationships: rabbitmq: "rabbitmq:rabbitmq"
-
コードの変更を追加、コミット、プッシュします。
code language-bash git add .magento/services.yaml .magento.app.yaml
code language-bash git commit -m "Enable RabbitMQ service"
code language-bash git push origin <branch-name>
services.yaml
および .magento.app.yaml
設定ファイル。 参照: サービスバージョンの変更 サービスのアップグレードまたはダウングレードのガイダンス。デバッグ用にRabbitMQに接続
デバッグの目的では、次のいずれかの方法でサービスインスタンスに直接接続すると便利です。
- ローカル開発環境から接続する
- アプリケーションからの接続
- PHP アプリケーションからの接続
ローカル開発環境から接続する
-
にログインします
magento-cloud
CLI とプロジェクト:code language-bash magento-cloud login
-
RabbitMQがインストールおよび設定された環境をチェックアウトします。
code language-bash magento-cloud environment:checkout <environment-id>
-
SSH を使用してクラウド環境に接続します。
code language-bash magento-cloud ssh
-
からRabbitMQ接続の詳細とログイン資格情報を取得します。 $CLOUD_RELATIONSHIPS$MAGENTO 変数:
code language-bash echo $MAGENTO_CLOUD_RELATIONSHIPS | base64 -d | json_pp
または
code language-bash php -r 'print_r(json_decode(base64_decode($_ENV["MAGENTO_CLOUD_RELATIONSHIPS"])));'
応答で、RabbitMQ情報を確認します。例:
code language-json { "rabbitmq" : [ { "password" : "guest", "ip" : "246.0.129.2", "scheme" : "amqp", "port" : 5672, "host" : "rabbitmq.internal", "username" : "guest" } ] }
-
RabbitMQへのローカルポート転送を有効にする(プロジェクトが US-3、EU-5、AP-3 リージョンなど別のリージョンにある場合は、
us-3
/eu-5
/ap-3
(用)us
)code language-bash ssh -L <port-number>:rabbitmq.internal:<port-number> <project-ID>-<branch-ID>@ssh.us.magentosite.cloud
でRabbitMQ管理 web インターフェイスにアクセスする例
http://localhost:15672
は:code language-bash ssh -L 15672:rabbitmq.internal:15672 <project-ID>-<branch-ID>@ssh.us.magentosite.cloud
-
セッションが開いている間は、ローカルワークステーションから選択したRabbitMQ クライアントを起動し、に接続するように設定できます
localhost:<portnumber>
Magento_CLOUD_RELATIONSHIPS 変数のポート番号、ユーザー名およびパスワード情報を使用します。
アプリケーションからの接続
アプリケーションで動作しているRabbitMQに接続するには、次のようなクライアントをインストールします amqp-utilsを、内のプロジェクト依存関係として .magento.app.yaml
ファイル。
以下に例を挙げます。
dependencies:
ruby:
amqp-utils: "0.5.1"
PHP コンテナにログインする場合は、 amqp-
キューを管理するために使用できるコマンド。
PHP アプリケーションからの接続
PHP アプリケーションを使用してRabbitMQに接続するには、PHP を ライブラリ をソースツリーに追加します。