Da dove viene la convenzione di utilizzare / healthz per i controlli di integrità dell'applicazione?


141

Nell'ecosistema Kubernetes / Docker esiste una convenzione sull'uso /healthzcome endpoint di controllo dello stato per le applicazioni.

Da dove viene il nome 'healthz' e ci sono particolari semantiche associate a quel nome?

Risposte:


179

Storicamente deriva dalle pratiche interne di Google. Si chiamano "z-pages".

Il motivo per cui termina zè ridurre le collisioni con gli endpoint dell'applicazione effettivi con lo stesso nome (come /status). Vedi questo discorso per ulteriori informazioni: https://vimeo.com/173610242

Endpoint simili (almeno all'interno di Google) sono /varz, /statusz, /rpcz. I servizi sviluppati su Google ottengono automaticamente questi endpoint per esportare le loro condizioni e metriche e ci sono strumenti che raccolgono le metriche / gli stati esposti da tutti i servizi distribuiti.

Strumenti open source come Prometheus implementano questo modello (poiché gli autori originali di Prometheus sono anche ex googler) arrivando a un endpoint noto per raccogliere metriche dall'applicazione. Allo stesso modo OpenCensus ti consente di esporre z-page dalla tua app (idealmente su una porta diversa) per diagnosticare i problemi.


Go expvar golang.org/pkg/expvar è abbastanza vicino a / varz
ptman

@AhmeB: grazie per il collegamento video. mi aiuta a capire un po 'di più su healthz
Gatsby Lee,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.