健康检查
健康检查可判断后端服务器是否正常,对于异常的后端服务器,将其从后端服务器池中移除,客户端请求将会在其他服务器之间进行分发。对于处于异常状态的服务器恢复正常时,会恢复至后端服务器池中。
不同类型VServer支持的健康检查方式
类型 | 监听协议 | 支持健康检查方式 |
---|---|---|
请求代理 | HTTP、HTTPS | HTTP检查、端口检查 |
请求代理 | TCP | 端口检查 |
报文转发 | TCP | 端口检查 |
报文转发 | UDP | Ping探测、端口检查、UDP检查 |
不同健康检查适用场景
总的来说,健康检查方式可以分为两类:检查端口存活和检查服务存活。
检查端口存活:端口检查、Ping探测。
检查服务存活:HTTP检查、UDP检查。
不同健康检查方式详述
端口检查
每个可用区内部署专用服务器探测后端节点的IP+端口是否正常。探测频率为2s,连续三次探测失败后端服务器状态异常,连续三次探测正常,则后端服务器状态正常。注意:数据更新有6s延迟,故健康检查状态或有6s延迟。
所有协议均支持端口检查。但检测状态略有不同:HTTP、HTTPS以及TCP的请求代理模式的端口检查是用TCP进行探测。而TCP的报文转发模式及UDP协议则是使用选择的四层协议做端口探测。
HTTP检查
通过HTTP HEAD请求检查后端服务器上的应用是否可用。要求后端服务器支持HEAD请求。
用户使用HTTP健康检查,需要配置HTTP检查路径(如果有必要的话,也可以配置HTTP的检查域名,一般不需要填写),两者拼接组成了HTTP检查的URL,对此URL发起HTTP HEAD请求,请求响应码为2xx或3xx则认为后端服务器正常。健康检查探测周期为2s,连续3次探测失败后端节点变更为不健康,连续两次正常变更为健康。
HTTP检查路径,最多为227个字符,直接填写域名或IP地址后的相对路径文件。可以选择首页、出现异常概率较小的页面、专门为健康检查准备的空文件(HTTP HEAD请求可以获得200的响应码即可),选择首页可能会加大服务器压力,不建议选择首页作为HTTP健康检查的域名和路径。
HTTP检查域名,不建议填写”http:“或”https:“,直接填写域名或IP地址即可。支持主域名、二级域名等多级域名。
HTTP检查支持的协议:HTTP协议、HTTPS协议(七层服务)。
UDP检查
按照健康检查配置,健康检查服务每2s向服务节点发送UDP请求报文,若能在发出请求后2s内收到预定的UDP响应报文,认为服务节点响应成功。
健康检查成功:连续三次响应成功。
健康检查失败:连续三次响应失败。
如某服务节点现在状态为“健康”,则仅当连续三次服务节点响应失败才会变更节点状态为“失效”。
注意:UDP检查时,为避免服务节点错误响应请求报文,服务节点不能绑定0.0.0.0/0。