1.3.3 版本健康检测机制优化更新说明
为了优化健康检测机制,确保服务的高可用性和稳定性,我们对原有逻辑进行了改进,引入了自定义主动和被动健康检测功能。
原有逻辑
在之前的架构中,服务器端执行被动健康检测,即在每次调用回传 URL 时检查返回的状态码。如果在最近 50 次调用中有 5 次或更多次出现 500-504 状态码,则认为该节点异常,并将其从集群中剔除。然后,系统会将其他挂载的备用节点转换为工作节点,整个过程大约需要 1 分钟。
优化后逻辑
主动健康检测(可选配置)
- 定制化配置:用户现在可以为每个任务定义特定的 Docker 服务路径、宽限期、检测间隔、自定义健康状态码、请求超时时间和最大重试次数。
- 多服务支持:允许针对不同的 Docker 服务设置独立的健康检测规则,确保每个服务都能得到精准监控。
- 严格性增强:只要任意一个 Docker 服务在某个节点上未能通过健康检查,这个节点即被视为不可用并立即断开连接,以防止潜在问题影响整体性能。
被动健康检测(依赖于主动健康检测配置)
- 依赖关系:被动健康检测现依赖于主动健康检测的配置才能启用,默认处于关闭状态。
- 快速响应:一旦在最近 50 次请求中发现超过 5 次错误响应,系统将在大约 30 秒内自动切换到热备份节点,显著缩短了故障恢复时间。
- 灵活性增加:用户能够自定义哪些 HTTP 状态码应该被识别为异常,提高了适应各种应用场景的能力。
更新需注意
对于所有更新后的任务,默认情况下不会启用任何形式的健康检测,除非明确设置了相应的参数。
通过这样的调整,不仅增强了系统的灵活性和适应性,还提高了故障恢复的速度,从而更好地保障了服务的质量和用户体验。
可以在任务详情 -> 设置 针对自己的服务进行配置。