こんにちは、私は私が唯一つのサーバは、CPUや他のRabbitMQサーバはCPURabbitMQクラスタの負荷分散方法は?
を利用しない利用したメッセージを公開するとき、私はCPU使用率にRabbitMQのクラスタベースをスケールアウトしたいが、EC2
上でクラスタ内で実行されている3台のRabbitMQのサーバーを作成どのようにしてRabbitMQクラスタに負荷を分散できますか
こんにちは、私は私が唯一つのサーバは、CPUや他のRabbitMQサーバはCPURabbitMQクラスタの負荷分散方法は?
を利用しない利用したメッセージを公開するとき、私はCPU使用率にRabbitMQのクラスタベースをスケールアウトしたいが、EC2
上でクラスタ内で実行されている3台のRabbitMQのサーバーを作成どのようにしてRabbitMQクラスタに負荷を分散できますか
RabbitMQクラスタは、スケーラビリティを向上させるように設計されていますが、システムは完全に自動ではありません。
クラスタ内のノードにキューを宣言すると、キューはその1つのノードにのみ作成されます。したがって、公開するノードに関係なく、キューが1つの場合、メッセージはキューが存在するノードで終了します。
適切RabbitMQのクラスタを使用するには、あなたは、次のことを行うことを確認する必要があります。
また、High Availability Queuesをご覧ください。それらは通常のキューのようですが、キューの内容は複数のノードにまたがって反映されます。したがって、あなたのケースでは、1つのノードに公開し、RabbitMQはパブリッシュを他のノードにミラーリングし、コンシューマは内部転送によるクラスタのダウンを心配することなく、どちらのノードにも接続できます。
こんにちは、scvalex。 「複数のキューを複数のノードに分散させて作業を均等に分散させる」ためには、プログラムを解決するためのロードバランサプログラムを実行するためにLinuxサーバを追加する必要がありますか?または、アプリケーションのソースコードを変更して、すべてのノード名情報を「rabbitmq」に追加して、負荷バランスをプログラムに追加する必要がありますか? –
私は、「アプリケーションのソースコードを変更して、 'rabbitmq'すべてのノード名情報を負荷分散のためのプログラムに追加する」と言っていますが、ロードバランサを成功させた人もいます。 – scvalex
あなたの投稿を見つける前に、私はrabbitmqが非常に強力だと思います。しかし、その後、私はそれがあなたが言ったように自動ではないと思う。使用するのは簡単ではありません。 –