1.8.5 健康检查

优质
小牛编辑
144浏览
2023-12-01

健康检查架构概述。如果为集群配置了健康检查,则会发出相应的统计信息。详见请参考统计相关文档。

HealthCheck

HealthCheck proto

{
  "timeout": "{...}",
  "interval": "{...}",
  "interval_jitter": "{...}",
  "unhealthy_threshold": "{...}",
  "healthy_threshold": "{...}",
  "reuse_connection": "{...}",
  "http_health_check": "{...}",
  "tcp_health_check": "{...}",
  "redis_health_check": "{...}"
}
  • timeout
    (Duration) 等待健康检查响应的时间。如果达到超时,则尝试健康检查将被视为失败。

  • interval
    (Duration) 每次尝试健康检查之间的时间间隔。

  • interval_jitter
    (Duration) 可选,抖动量(以毫秒为单位)。如果指定,在Envoy内部将抖动量叠加到时间间隔上。

  • unhealthy_threshold
    (UInt32Value) 在主机被标记为不健康之前,需要进行不健康的健康检查次数。请注意,对于http运行健康检查,如果主机以503响应,此阈值将被忽略,并且主机立即被视为不健康。

  • healthy_threshold
    (UInt32Value) 主机在标记为健康之前所需的健康检查次数。请注意,在启动过程中,只需要一次成功的健康检查即可将主机标记为健康状态。

  • reuse_connection
    (BoolValue) 健康检查之间复用健康检查连接。默认是true

  • http_health_check
    (HealthCheck.HttpHealthCheck) HTTP健康检查。

  • tcp_health_check
    (HealthCheck.TcpHealthCheck) TCP健康检查

  • redis_health_check
    (HealthCheck.RedisHealthCheck) Redis健康检查

    注意:只能在http_health_checktcp_health_checkredis_health_check选其中一个进行设置。

HealthCheck.Payload

HealthCheck.Payload proto

描述载荷中有效载荷的字节编码。

{
  "text": "..."
}
  • text
    (string, REQUIRED) 十六进制编码载荷,例如,“000000FF”。准确地说,必须设置一个文本。

HealthCheck.HttpHealthCheck

HealthCheck.HttpHealthCheck proto

{
  "path": "...",
  "service_name": "..."
}
  • path
    (string, REQUIRED) 指定运行健康检查期间,所请求的HTTP路径。例如/healthcheck

  • service_name
    (string) 可选,服务名称参数,用于验证运行状况检查的群集的身份。请参阅架构概述以获取更多信息。

HealthCheck.TcpHealthCheck

HealthCheck.TcpHealthCheck proto

{
  "send": "{...}",
  "receive": []
}
  • send
    (HealthCheck.Payload) 若有效载荷为空,意味着仅做连接的健康检查。

  • receive
    (HealthCheck.Payload) 当检查响应时,执行模糊匹配,每个二进制块必须被找到,并且按照指定的顺序,但不一定是连续的。

HealthCheck.RedisHealthCheck

HealthCheck.RedisHealthCheck proto

{}

返回

  • 上一级