14

我正在使用 RESTful 架构。我有两个应用程序服务器正在运行。一个应该只服务于 GET 请求,另一个应该只服务于 POST 请求。我想配置 HAProxy 以根据上述条件对请求进行负载平衡。请帮我

4

1 回答 1

28

这是部分 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
于 2011-05-27T05:46:45.220 回答