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

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

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


person Andy Hume    schedule 12.04.2017    source источник


Ответы (1)


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

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

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

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

person Ahmet Alp Balkan    schedule 12.04.2017
comment
Перейти expvar golang.org/pkg/expvar довольно близко к / varz - person ptman; 22.05.2020
comment
@AhmeB: Спасибо за ссылку на видео. это поможет мне понять немного больше о здоровье - person Gatsby Lee; 30.06.2020
comment
Ответ на вопрос будет дан в разговоре в 26:55 (но этот ответ уже содержит почти весь ответ, данный Келси). - person tjanson; 11.09.2020