Docker 使用/healthz进行应用程序运行状况检查的约定从何而来?

Docker 使用/healthz进行应用程序运行状况检查的约定从何而来?,docker,kubernetes,kubernetes-health-check,Docker,Kubernetes,Kubernetes Health Check,在Kubernetes/Docker生态系统中,有一种使用/healthz作为应用程序健康检查端点的惯例 “healthz”这个名字从哪里来,有没有与之相关的特定语义?它历史上来自谷歌的内部实践。它们被称为“z页” 它以z结尾的原因是为了减少与同名的实际应用程序端点的冲突(如/status)。有关更多信息,请参阅本演讲: 类似的端点(至少在谷歌内部)有/varz,/statusz,/rpcz。Google开发的服务会自动让这些端点导出它们的健康状况和指标,并且有一些工具可以从所有部署的服务中收集

在Kubernetes/Docker生态系统中,有一种使用
/healthz
作为应用程序健康检查端点的惯例


“healthz”这个名字从哪里来,有没有与之相关的特定语义?

它历史上来自谷歌的内部实践。它们被称为“z页”

它以
z
结尾的原因是为了减少与同名的实际应用程序端点的冲突(如
/status
)。有关更多信息,请参阅本演讲:

类似的端点(至少在谷歌内部)有
/varz
/statusz
/rpcz
。Google开发的服务会自动让这些端点导出它们的健康状况和指标,并且有一些工具可以从所有部署的服务中收集公开的指标/状态


像Prometheus这样的开源工具实现了这种模式(因为Prometheus的原始作者也是前谷歌用户),他们来到一个著名的端点,从应用程序中收集度量。类似地,允许您从应用程序中公开z-page(理想情况下是在不同的端口上)以诊断问题。

Go-expvar非常接近于/varz@AhmeB:谢谢你的视频链接。这个问题在26:55的演讲中得到了回答(但这个答案已经包含了凯尔西给出的几乎全部答案)。