1

インフラストラクチャに 2 つ目のワニス サーバーを追加する予定です。

2 つのサーバーをスローするトラフィックのバランスをとるには、どのような方法がよいでしょうか? 2 つのサーバーの前で haproxy を使用できると思いますが、2 つのワニス間のトラフィックを負荷分散するように構成するにはどうすればよいですか? 理想的な解決策は、1 つのワニスが停止した場合、すべてのトラフィックが別のワニスに移動することです。

編集: 理想的な動作は、それぞれ 50% の負荷を持つアクティブ/アクティブな conf であり、一方がダウンすると、haproxy は他方に 100% の負荷を送信します。

4

2 に答える 2

1

もう 1 つのオプションは、両方の varnish インスタンスを同じバックエンドに配置することですが、uri またはパラメーターごとにリクエストのバランスをとることです。

これにより、同じバックエンドで両方をアクティブにすることができ、同じ uri が常に同じワニス キャッシュに分散されるため (利用可能な限り)、高いキャッシュ ヒット率を維持できます。Balace uri は、ハッシュ時に使用する長さのオプション パラメータも取ります。

簡単な例を次に示します。

フロントエンド http-in acl my_acl use_backend varnish if my_acl

backend varnish1
  mode http
  balance uri
  option httpchk  GET /check.txt HTTP/1.0
  server varnish1 192.168.222.51:6081 check inter 2000
  server varnish2 192.168.222.52:6081 check inter 2000
于 2012-08-18T18:16:12.787 に答える
0

私が思いついたアイデアは、2 つのバックエンドを使用し、それぞれのバックエンドで他のサーバーをバックアップとして使用することです。これにより、サーバーがダウンしたときにすべての要求が稼働中のサーバーに送信されます。

frontend http-in
  acl my_acl <whaever acl to split the traffic>
  use_backend varnish2 if my_acl
  default_backend varnish1

backend varnish1
  mode http
  option httpchk  GET /check.txt HTTP/1.0
  server varnish1 192.168.222.51:6081 check inter 2000
  server varnish2 192.168.222.52:6081 check inter 2000 backup

backend varnish2
  mode http
  option httpchk  GET /check.txt HTTP/1.0
  server varnish2 192.168.222.51:6081 check inter 2000
  server varnish1 192.168.222.52:6081 check inter 2000 backup
于 2012-06-07T15:13:42.263 に答える