Я использую архитектуру RESTful. У меня два сервера приложений. Один должен обслуживать только запрос GET, а другой должен обслуживать только запрос POST. Я хочу настроить HAProxy для балансировки запросов в зависимости от вышеуказанного условия. Пожалуйста, помогите мне
Как настроить HAProxy для отправки HTTP-запросов GET и POST на два разных сервера приложений
Ответ 1
Вот частичная конфигурация 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