继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

关于Nginx做代理后端健康检查-慕课网

代沟000
关注TA
已关注
手记 4
粉丝 0
获赞 12

Nginx---后端节点健康检查2种方式
1、ngx_http_proxy_module 模块和ngx_http_upstream_module模块(自带)
官网地址: http://nginx.org/cn/docs/http/ngx_http_proxy_module.html#proxy_next_upstream
2、nginx_upstream_check_module模块
官网网址:https://github.com/yaoweibin/nginx_upstream_check_module
3、ngx_http_healthcheck_module模块
官网网址:http://wiki.nginx.org/NginxHttpHealthcheckModule

一、 ngx_http_proxy_module 模块 和ngx_http_upstream_module模块 (自带)
严格来说,nginx自带是没有针对负载均衡后端节点的健康检查的,但是可以通过默认自带的 ngx_http_proxy_module 模块 和ngx_http_upstream_module模块中的相关指令来完成当后端节点出现故障时,自动切换到健康节点来提供访问。

  1. ngx_http_proxy_module 模块中的  proxy_connect_timeout 指令、proxy_read_timeout指令和proxy_next_upstream指令设置与后端服务器建立连接的超时时间,定义从后端服务器读取响应的超时,指定在何种情况下一个失败的请求应该被发送到下一台后端服务器。
  2. ngx_http_upstream_module 模块认定一些指令,max_fails=1 fail_timeout=10s;。
    二、nginx_upstream_check_module模块
    除了自带的上述模块,还有一个更专业的模块,来专门提供负载均衡器内节点的健康检查的。这个就是淘宝技术团队开发的 nginx 模块 nginx_upstream_check_module,通过它可以用来检测后端 realserver 的健康状态。如果后端 realserver 不可用,则所以的请求就不会转发到该节点上。
    三、 ngx_http_healthcheck_module模块
    除了上面两个模块,nginx官方在早期的时候还提供了一个ngx_http_healthcheck_module  模块用来进行 nginx后端节点的健康检查。nginx_upstream_check_module模块就是参照 该模块的设计理念进行开发的,因此在使用和效果上都大同小异。但是需要注意的是, ngx_http_healthcheck_module  模块仅仅支持nginx的1.0.0版本,1.1.0版本以后都不支持了

    推荐大家用nginx做代理时候使用nginx_upstream_check_module模块对后端增加健康检查。

打开App,阅读手记
1人推荐
发表评论
随时随地看视频慕课网APP