Mik*_*sen 5 load-balancing haproxy
假设我web01
在我的后端服务器列表中web01
出现了故障。HAProxy 需要几秒钟才能注意到服务器已关闭(取决于运行状况检查间隔和超时时间)并将其停止轮换。如果一个请求在它发生之前到来,客户端最终会收到一个503 Service Unavailable
错误。
我想喜欢发生的是自动有HAProxy的重试一次另一台服务器上相同的请求。我意识到请求最终会非常缓慢,但最终会导致成功而不是错误。
有没有办法将 HAProxy 配置为在另一台服务器上重试 HTTP 请求而不是出错?理想情况下,如果集群中有任何工作服务器,我不希望客户端收到错误。
这是我的 haproxy.cfg:
global
maxconn 4096
debug
defaults
mode http
contimeout 5000
clitimeout 50000
srvtimeout 50000
frontend http-in
bind *:80
acl service1 path_reg ^/service1/
acl service2 path_reg ^/service2/
use_backend service1 if service1
use_backend service2 if service2
backend service1
server web01 127.0.0.1:85 check
server web02 127.0.0.1:86 check
reqrep ^([^\ :]*)\ /service1/(.*) \1\ /\2
backend service2
server web03 127.0.0.1:87 check
server web04 127.0.0.1:88 check
reqrep ^([^\ :]*)\ /service2/(.*) \1\ /\2
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2804 次 |
最近记录: |