Откуда взялось соглашение об использовании / healthz для проверки работоспособности приложений?

155

В экосистеме Kubernetes / Docker существует соглашение об использовании /healthzв качестве конечной точки для проверки работоспособности приложений.

Откуда взялось название "healthz" и связана ли с этим именем какая-то особая семантика?

Энди Хьюм
источник

Ответы:

195

Исторически это происходит из внутренней практики Google. Их называют «z-страницами».

Причина, по которой он заканчивается, zсостоит в том, чтобы уменьшить коллизии с фактическими конечными точками приложения с тем же именем (например, /status). См. Этот разговор для получения дополнительной информации: https://vimeo.com/173610242

Подобные конечные точки (по крайней мере , в Google) являются /varz, /statusz, /rpcz. Сервисы, разработанные в Google, автоматически получают эти конечные точки для экспорта их работоспособности и метрик, и есть инструменты, которые собирают открытые метрики / статусы со всех развернутых сервисов.

Инструменты с открытым исходным кодом, такие как Prometheus, реализуют этот шаблон (поскольку первоначальные авторы Prometheus также являются бывшими сотрудниками Google), обращаясь к хорошо известной конечной точке для сбора метрик из вашего приложения. Точно так же OpenCensus позволяет вам открывать z-страницы из вашего приложения (в идеале на другом порту) для диагностики проблем.

AhmetB - Google
источник
1
Перейти expvar golang.org/pkg/expvar довольно близко к / varz
ptman
@AhmeB: Спасибо за ссылку на видео. это помогает мне немного больше понять о здоровье
Гэтсби Ли
Ответ на вопрос будет дан в разговоре в 26:55 (но этот ответ уже содержит почти весь ответ, данный Келси).
Тянсон