使用 /healthz 进行应用程序健康检查的约定从何而来?

Where does the convention of using /healthz for application health checks come from?

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

名称 'healthz' 从何而来,是否有与该名称关联的任何特定语义?

它历史上来自 Google 的内部实践。他们被称为 "z-pages".

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

相似的端点(至少在 Google 内)是 /varz/statusz/rpcz。在 Google 开发的服务会自动获取这些端点以导出其健康状况和指标,并且有一些工具可以从所有已部署的服务中收集公开的 metrics/statuses。

像 Prometheus 这样的开源工具通过来到一个众所周知的端点从您的应用程序收集指标来实现这种模式(因为 Prometheus 的原始作者也是前 Googlers)。同样,OpenCensus 允许您从您的应用程序(最好在不同的端口上)公开 z-pages 以诊断问题。