美文网首页
服务健康检查策略

服务健康检查策略

作者: 春秋杰瑞 | 来源:发表于2019-09-29 09:11 被阅读0次

一般常见的服务健康检查策略是连续多次服务状态测试成功或失败(如亚马逊或者阿里云均衡负载健康检查),服务健康状态才会发生迁移,具体来说就是如果当前服务健康,则必须连续测试失败 N 次,才认定为失败,如果中途出现成功则失败次数重置,反之亦然。

这种策略的好处是可以减少因网络偶然间抖动产生误判,缺点是需要花费更久时间才能判定服务状态,如果每次检查间隔为 X 秒,则至少需要 X * N 秒才能判定服务状态不健康。

在这里我们又遇到软件工程中常见的矛盾现象,一方面我们希望第一时间发现不健康的服务,另一方面我们又希望不要误判服务状态(比如服务刚刚恢复时健康检查成功,但服务随即崩溃...),这两点需求有着不可调和的矛盾,因此生产实践上通常允许动态配置参数N

如果用伪代码描述该策略,则:

var 服务状态
var 测试成功计数器
var 测试失败计数器
const 连续失败次数阈值
const 连续成功次数阈值

while(true)
    测试结果 = 执行测试();

    如果 测试结果 == 失败
        测试失败计数器++
        如果 服务状态 == 失败
            测试成功计数器 = 0
        如果失败计数 > 连续失败次数阈值
            服务状态 = 失败
        否则什么也不做
    否则(即测试结果 == 成功)
        测试成功计数器++
        如果服务状态 == 成功
            测试失败计数器 = 0
        如果成功计数 > 连续成功次数阈值 
            服务状态 = 成功
        否则什么也不做
        
    等待 X 秒

描述该策略对应的状态机示意图:


health-transition-machine.jpg

下面是一个应用以上伪代码的服务状态变化示例:


health-check-demo.jpeg

提请读者注意,该示例的失败和成功连续次数 N = 3,同时 Y轴 0 表示状态不健康或测试失败, 1 表示状态健康或测试成功。

服务状态先是由健康转移到不健康(3-4),然后又从不健康转移到健康(10-11),最终还是转移到不健康(18-19)。

可以看到尽管服务测试状态中途多次跳变,但由于次数未达到阈值,服务状态始终处于稳定状态。因此,该策略非常具有实用价值。

参考链接:

  1. Configure Health Checks for Your Classic Load Balancer
  2. 示例图片数据下载)

相关文章

  • 服务健康检查策略

    一般常见的服务健康检查策略是连续多次服务状态测试成功或失败(如亚马逊或者阿里云均衡负载健康检查),服务健康状态才会...

  • 注册中心调研

    根据目前开源或者比较流行的服务发现中间件进行比较: 服务健康检查 Eureka 使用时需要显式配置健康检查支持;Z...

  • K8S使用就绪和存活探针配置健康检查

    健康检查 健康检查(Health Check)可用于服务运行的状态监控,比如腾讯旗下的DNSPOD的D监控,要求配...

  • Kubernetes 深入Pod

    Pod声明周期和重启策略 Pod 健康检查1.LivenessProbe探针2.ReadinessProbe探针探...

  • Haproxy的TCP层健康检查

    Haproxy配置为TCP模式,通常会配置健康检查所代理服务的端口。 Haproxy的健康检查机制是利用TCP的三...

  • Nacos使用心得

    Nacos使用心得 功能介绍 核心功能主要包括服务注册、服务心跳、服务同步、服务发现和服务健康检查 服务注册 Na...

  • Kubernetes ( k8s ) gRPC服务 健康检查 (

    Kubernetes ( k8s ) gRPC服务 健康检查 https://github.com/grpc-ec...

  • RPC注册中心-- 检测服务是否存活

    RPC注册中心-- 检测服务是否存活=注册中心的职责,发现服务,监控服务变更状态、健康检查。 需要做到的是:总能通...

  • 简体字丶冯|服务网关kong-认识

    tags: 微服务网关,api网关,kong,健康检查,负载均衡grammar_cjkRuby: true 为什么...

  • 服务注册与发现

    1、应用场景 微服务架构、分布式架构场景下的服务发现、组件实例的发现、健康检查等。完成自动化服务发现,在服务动态上...

网友评论

      本文标题:服务健康检查策略

      本文链接:https://www.haomeiwen.com/subject/hrewuctx.html