HAProxy
能够完美地负载均衡 MySQL/TOMCAT/Cassandra/LDAP/WEB服务器等。主要问题在于如何确保后端MySQL/TOMCAT/Cassandra等服务器正在运行并将请求转发给它们(我的意思不仅是建立到mysql的3306端口、到tomcat的8080端口、到LDAP的389端口的连接,我指的是更“完整”的操作,对后端服务器执行一些小操作)。
我的用例:
=============
有许多后端tomcat都在HAproxy
后面工作,所有tomcat都通过HAproxy
提供服务,突然间其中一个tomcat崩溃了(内存不足)。显然,对于Haproxy
来说,该tomcat服务器是可以使用的,但是由于tomcat运行时出现OOM,导致请求路由到该tomcat时失败。
是否有可能使用小型shell脚本让Haproxy
检查后端服务器的状态?这个脚本的基本功能是对tomcat执行基本操作,如果操作成功,则返回http状态200,如果存在任何错误(例如tomcat不可用),则返回http状态500。
除了对server-ip:port进行连接检查之外,还有其他配置HAproxy
以实现“完整”状态检查的方法吗?