ロードバランサとしてHAProxyを使いたい。私はhaproxyの後ろに2つのrabbitmqサーバを置いておきたい。両方のrabbitmqサーバーはEC2の別のインスタンスにあります。 this referenceに従って、HAProxyサーバーを構成しました。私は動作しますが、問題はメッセージがラウンドロビンパターンで公開されていないことです。メッセージは1台のサーバーでのみ発行されます。私の要件のための構成がありますか?rabbitmqのHAProxyを設定する
/etc/haproxy/haproxy.cfgマイconfigureation
listen rabbitmq 0.0.0.0:5672
mode tcp
stats enable
balance roundrobin
option tcplog
no option clitcpka
no option srvtcpka
server rabbit01 46.XX.XX.XX:5672 check
server rabbit02 176.XX.XX.XX:5672 check
listen web-service *:80
mode http
balance roundrobin
option httpchk HEAD/HTTP/1.0
option httpclose
option forwardfor
option httpchk OPTIONS /health_check.html
stats enable
stats refresh 10s
stats hide-version
stats scope .
stats uri /lb?stats
stats realm LB2\ Statistics
stats auth admin:Adm1nn
アップデート:私はこの上でいくつかのR & Dを作り、HAProxyは、ラウンドロビンでの接続であることを発見した
rabbitmqサーバー。例:もし私が10の接続を要求すると、2つのrabbitmqサーバー上の10の接続をラウンドロビンし、メッセージを公開します。
しかし、問題は私がメッセージをロビンしたいのですが、接続ではなくHAProxyサーバーで管理する必要があります。つまり、一度に1000個のメッセージをHAProxyに送信すると、500個のメッセージは、rabbit server1に、500個のmsgは、rabbit server2に移動する必要があります。私はそれに従わなければならない構成は何でしょうか?
更新:
私はまた、均衡におけるleastconnが、予想外でHAProxy行動をテストしてきました。私はその質問を投稿しましたserverfault.com
メッセージは機能しているが、メッセージは1台のサーバーにのみ公開されていますが、これは正常に動作していないことを示していますか? HAProxyマシンから、両方のサーバーにAMQP接続できますか?彼らは異なるネットワーク上にあることに注意してください.HAProxyが何をしているかを見るために、統計ページのスクリーングラブを投稿できますか?ちなみに、あなたの目標はここですか?おそらくファンアウト交換によってよりよく管理できるものがあれば、HAProxyからRRへのメッセージをさまざまなサーバーに使用します。 –
steve martin。返信ありがとう。私のHAproxyサーバは、両方のRabbitmqサーバに接続できます。私の目標は接続がHAProxyによって管理されるべきことです。たとえば、HAProxyの背後に2つのウサギサーバーがあり、1000個のメッセージを公開している場合、500個のメッセージがウサギに送られ、500個のメッセージが残ります。また、HAProxyサーバーにrabbitmqサーバーを動的に追加すると、HAPはすべてのウサギサーバーに配布する必要があります。現在私が苦しんでいるのは、すべての1000のメッセージがウサギ1に入っていて、両方ではないということです。 –
ああ、ちょうどあなたのHAP設定をもっとよく見てみました。両方のサーバーが「バックアップ」として構成されています。答えに提案を投稿します... –