使用/healthz进行应用程序运行状况检查的约定来自哪里?

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

“healthz”这个名字是从哪里来的,这个名字有什么特殊的语义吗?

45702 次浏览

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

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

类似的端点(至少在谷歌内部)是/varz/statusz/rpcz。在谷歌上开发的服务自动获得这些端点来导出它们的运行状况和指标,还有一些工具可以从所有部署的服务收集公开的指标/状态。

像Prometheus这样的开源工具实现了这种模式(因为Prometheus的原始作者也是前google员工),方法是到一个知名的端点从应用程序中收集指标。类似地,OpenCensus允许你从你的应用程序(理想情况下在不同的端口)暴露z页来诊断问题。