の設定 RabbitMQ サービス

この メッセージキューフレームワーク(MQF) は、Adobe Commerce内のシステムで、 モジュール メッセージをキューに公開します。 また、メッセージを非同期で受信するコンシューマーも定義します。

この MQF は、 RabbitMQ メッセージを送受信するためのスケーラブルなプラットフォームを提供するメッセージングブローカーとして。 また、未配信メッセージを保存するメカニズムも含まれています。 RabbitMQ は、Advanced Message Queuing Protocol (AMQP) 0.9.1 仕様に基づいています。

WARNING
次のような既存の AMQP ベースのサービスを使用する場合: RabbitMQを使用すれば、Adobe Commerceのクラウドインフラストラクチャーに依存してテンプレートを作成する代わりに、 QUEUE_CONFIGURATION サイトに接続するための環境変数。

Pro 統合環境およびスターター環境でのサービス設定については、以下の手順に従ってください。 master 分岐。

NOTE
Adobe Commerce サポートチケットを送信 pro 実稼動環境およびステージング環境でサービス設定を変更する場合。

RabbitMQを有効にするには:

  1. 必要な名前、タイプ、ディスク値(MB 単位)をに追加します .magento/services.yaml ファイルと、インストールされているRabbitMQのバージョン。

    code language-yaml
    rabbitmq:
        type: rabbitmq:<version>
        disk: 1024
    
  2. での関係の設定 .magento.app.yaml ファイル。

    code language-yaml
    relationships:
        rabbitmq: "rabbitmq:rabbitmq"
    
  3. コードの変更を追加、コミット、プッシュします。

    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>
    
  4. サービス関係の検証.

TIP
サービスの初期セットアップ後、 services.yaml および .magento.app.yaml 設定ファイル。 参照: サービスバージョンの変更 サービスのアップグレードまたはダウングレードのガイダンス。

デバッグ用にRabbitMQに接続

デバッグの目的では、次のいずれかの方法でサービスインスタンスに直接接続すると便利です。

  • ローカル開発環境から接続する
  • アプリケーションからの接続
  • PHP アプリケーションからの接続

ローカル開発環境から接続する

  1. にログインします magento-cloud CLI とプロジェクト:

    code language-bash
    magento-cloud login
    
  2. RabbitMQがインストールおよび設定された環境をチェックアウトします。

    code language-bash
    magento-cloud environment:checkout <environment-id>
    
  3. SSH を使用してクラウド環境に接続します。

    code language-bash
    magento-cloud ssh
    
  4. から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"
          }
       ]
    }
    
  5. 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
    
  6. セッションが開いている間は、ローカルワークステーションから選択した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 を ライブラリ をソースツリーに追加します。

recommendation-more-help
05f2f56e-ac5d-4931-8cdb-764e60e16f26