Web负载均衡器主动健康检查实现方案及选型疑问
Web负载均衡器主动健康检查实现方案及选型疑问
我完全懂你的需求——要搞一个带主动健康检查的Web负载均衡器,这台前端机器得搞定HTTPS证书管理、做点缓存,最关键的是只把请求转发给状态健康的后端服务器。
你提到用Nginx的时候踩了坑:开源版Nginx只支持被动健康检查,这确实没法满足你的核心需求,所以你琢磨了几个替代方案,不过每个都有点拿不准:
- 试试带主动健康检查的Nginx第三方分支:但这类分支大多没有官方支持,安装起来估计也挺麻烦,后续维护风险不小
- 写个自定义Bash脚本,用Cron定时执行:脚本负责检查后端服务器的健康状态,然后修改Nginx配置再重载服务。这种方式虽然能实现需求,但脚本的稳定性、配置修改的原子性都是要操心的点,万一脚本出问题可能直接搞挂负载均衡
- 部署HAProxy配合Nginx:让Nginx负责证书和缓存,把请求转发给本地的HAProxy,由HAProxy专门处理负载均衡和主动健康检查。这个方案看起来最稳妥,但你纠结的是——在同一台机器上跑Nginx和HAProxy这两个服务,到底合不合理?
备注:内容来源于stack exchange,提问作者Tobia




