序章
2018年11月、Magento 2.3.0アップデートは、メッセージキュー管理ツールRabbitMQとの統合を静かに導入しました。 この新機能により、Magento2CommerceエディションとOpenSourceエディションの両方に強力な最適化オプションが開かれました。
最近、RabbitMQのインストールと構成について話しました。 次に、Rabbitmqを構成し、インストールされているMagento2インスタンスで使用する方法を示します。
利点
RabbitMQを使用する主な利点は、メッセージブローカーにデータを保存することにより、ピーク時のサーバーの負荷を軽減できることです。 2.3.0より前では、MySQLとcronのみがこれらの目的に使用されていました。 しかし今では、MySQLデータベースの負荷を減らすことで現在のストアを高速化できるRabbitmqを使用できます。
Rabbitmqのインストール
Rabbitmqのインストールについては、RabbitMQのインストールと構成の記事で説明しています。 これは、UbuntuまたはCentOSサーバーにRabbitMQをインストールするために使用できます。
Rabbitmq構成
1.まず、ゲストユーザーを削除する必要があります。
# rabbitmqctl delete_user guest
2.その後、必要な権限を持つユーザーを作成する必要があります。
# rabbitmqctl add_user rabbitmq rabbitmq_pwd # rabbitmqctl set_user_tags rabbitmq administrator # rabbitmqctl set_permissions -p / rabbitmq ".*" ".*" ".*"
3.また、キューを作成する必要があります。
# rabbitmqadmin --username=rabbitmq --password=rabbitmq_pwd declare queue --vhost=/ name=async.operations.all durable=true
これで、rabbitmqを使用する準備が整いました。 これから、Magentoを使用するように構成を開始できます。
Magentoの構成
まず、rabbitmq構成を追加する必要があります。 それは2つの方法で行うことができます:
bin/magento経由
$ php bin/magento setup:config:set --amqp-host="127.0.0.1" --amqp-port="5672" --amqp-user="rabbitmq" --amqp-password="rabbitmq_pwd" --amqp-virtualhost="/"
次の行でapp/etc/env.phpを編集する
'queue' => array ( 'amqp' => array ( 'host' => '127.0.0.1', 'port' => '5672', 'user' => 'rabbitmq', 'password' => 'rabbitmq_pwd', 'virtualhost' => '/' ), ),
また、cronランナーをapp / etc/env.phpに追加する必要があります。
'cron_consumers_runner' => [ 'cron_run' => true, 'max_messages' => 0, 'consumers' => [ 'async.operations.all', 'codegeneratorProcessor' ] ]
それで全部です。 Magentoでrabbitmqコンシューマーを正常に構成しました。
Magentoでrabbitmqコンシューマーをテストする
すべてのコンシューマーを一覧表示するには、次のコマンドを実行できます。
# php bin/magento queue:consumers:list
コンシューマーを実行するには、次のコマンドを実行する必要があります。
# php bin/magento queue:consumers:start async.operations.all
それで全部です。 消費者は今働くべきです!
結論
RabbitMQは、ストアの速度を向上させるのに役立つ強力なメッセージブローカーです。 また、MySQLサーバーの負荷を減らすと、負荷が急上昇したときに役立ちます。
The post Magento 2 Rabbitmq構成–オタク日記 appeared first on Gamingsym Japan.