Google App Engine更新了运行状况检查

时间:2017-09-27 22:17:11

标签: google-app-engine

我正在使用Google App Engine Flexible环境(Node.js)。是否有任何理由为什么在每个指定的间隔时间内每次都会激活6次活动和准备情况检查? (这些都是在同一时间戳)

A  GET 200 2 B 2 ms GoogleHC/1.0 /readiness_check GET 200 2 B 2 ms GoogleHC/1.0 
A  GET 200 2 B 2 ms GoogleHC/1.0 /readiness_check GET 200 2 B 2 ms GoogleHC/1.0 
A  GET 200 2 B 1 ms GoogleHC/1.0 /readiness_check GET 200 2 B 1 ms GoogleHC/1.0 
A  GET 200 2 B 1 ms GoogleHC/1.0 /readiness_check GET 200 2 B 1 ms GoogleHC/1.0 
A  GET 200 2 B 3 ms GoogleHC/1.0 /readiness_check GET 200 2 B 3 ms GoogleHC/1.0 
A  GET 200 2 B 1 ms GoogleHC/1.0 /readiness_check GET 200 2 B 1 ms GoogleHC/1.0 
A  GET 200 2 B 2 ms GoogleHC/1.0 /liveness_check GET 200 2 B 2 ms GoogleHC/1.0 
A  GET 200 2 B 2 ms GoogleHC/1.0 /liveness_check GET 200 2 B 2 ms GoogleHC/1.0 
A  GET 200 2 B 2 ms GoogleHC/1.0 /liveness_check GET 200 2 B 2 ms GoogleHC/1.0 
A  GET 200 2 B 2 ms GoogleHC/1.0 /liveness_check GET 200 2 B 2 ms GoogleHC/1.0 
A  GET 200 2 B 1 ms GoogleHC/1.0 /liveness_check GET 200 2 B 1 ms GoogleHC/1.0 
A  GET 200 2 B 1 ms GoogleHC/1.0 /liveness_check GET 200 2 B 1 ms GoogleHC/1.0 

准备情况检查无限期地继续是正常的吗?我原本以为准备检查会在实例被认为“准备就绪”后停止。只是现场检查似乎就足够了,似乎没有必要同时准备和活动检查不断击中我的实例。如果有人知道更好的配置方式,以便它不是那么多余,我会非常感激。我的app.yaml的相关部分可以在下面看到:

runtime: nodejs
env: flex
readiness_check:
  path: '/readiness_check'
  check_interval_sec: 20
  timeout_sec: 4
  failure_threshold: 2
  success_threshold: 2
  app_start_timeout_sec: 300
liveness_check:
  path: '/liveness_check'
  check_interval_sec: 30
  timeout_sec: 4
  failure_threshold: 3
  success_threshold: 2
  initial_delay_sec: 300

谢谢!

1 个答案:

答案 0 :(得分:1)

准备检查的目的是永久地继续,以便您可以根据自己的意愿从流量轮换中删除VM(例如,您想要重新加载某些缓存等)。活力也是如此。它还允许负载均衡器检测问题并移除VM(例如,如果您的应用程序崩溃并正在重新启动)或者治愈它(如果VM完全死亡)。

关于请求的数量 - 它取决于您部署的实例数(您运行的是2个实例吗?),它可以处理每个实例3个并行请求(来自3个不同的健康检查器),这样我们就可以确保可用性和可靠性结果。

在宏观方案中,除非你过于激进并且实施过于昂贵的自定义运行状况检查处理程序,否则这应该是VM的最小流量。

希望它有所帮助, 安德烈