Как настроить HAProxy для отправки HTTP-запросов GET и POST на два разных сервера приложений - PullRequest
14 голосов
/ 15 апреля 2011

Я использую архитектуру RESTful.У меня работает два сервера приложений.Один должен обслуживать только запрос GET, а другой должен обслуживать только запрос POST.Я хочу настроить HAProxy для балансировки запросов в зависимости от вышеуказанного условия.Пожалуйста, помогите мне

1 Ответ

26 голосов
/ 27 мая 2011

Вот частичная конфигурация HAProxy, которая может сделать это за вас:

frontend webserver
  bind :80
  mode http
  acl is_post method POST
  use_backend post_app if is_post
  default_backend get_app

backend post_app
  mode http
  option forwardfor
  balance source
  option httpclose
  option httpchk HEAD / HTTP/1.0
  server post_app1 172.16.0.11:80 weight 1 check inter 1000 rise 5 fall 1
  server post_app2 172.16.0.12:80 weight 1 check inter 1000 rise 5 fall 1
  server post_app3 172.16.0.13:80 weight 1 check inter 1000 rise 5 fall 1 backup

backend get_app
  mode http
  option forwardfor
  balance source
  option httpclose
  option httpchk HEAD / HTTP/1.0
  server get_app1 172.16.0.21:80 weight 1 check inter 1000 rise 5 fall 1
  server get_app2 172.16.0.22:80 weight 1 check inter 1000 rise 5 fall 1
  server get_app3 172.16.0.23:80 weight 1 check inter 1000 rise 5 fall 1 backup
...