
백엔드 코드를 작업하다가 눈에 걸리는 단어를 발견했다.
"healthz"
무슨 이런 귀여운 오타가 있나 생각했다. 바로 수정하려고 봤는데 코드 여기저기에 다 healthz 라는 단어가 판을 치고 있었다. 라우터에도, 핸들러에도, 그리고 설명해 놓은 md 파일에도 있었다. 이렇게 많은 오타를 내기는 어렵고.. AI 사용하다가 단어를 잘못 입력했나도 싶었다.
그래서 검색에 들어갔고 이러한 표현은 하나의 관례로 사용되는 거라고 한다.
z 는 어디서 온건가
출처는 구글 내부 관행이라고 한다. z-pages 라고 부르는 진단용 엔드포인트 관습이 있었다고 한다. varz(var+z), rpcz(rpc+z), statusz(status+z) 그리고 오늘 만난 healthz(health+z) 까지. 이건 사람이 보는게 아니라 기계가 읽는 부분이다~ 라는 표기라고 한다.
이 문화가 Kubernetes로 들어왔고 Kubernetes가 인프라 표준이 되면서 업계에 퍼졌다고 한다.
왜 z를 붙이는 걸까?
방금 언금한 원래 단어들인 status, health는 너무 이름이 일반적이다 보니 어플리케이션의 실제 서비스의 라우트와 겹칠 가능성이 높다. 우리의 건강을 체크하는 서비스를 한든다고 하면 /health-check 이란 api 가 만들어질 가능성이 높다. 그러면 이게 인프라쪽 체크 함수인지 실제 호출되는 건지 분간하기가 한눈에 어려운 것이다. 그러다가 잘 쓰지 않을것 같은 글자인 z 를 뒤에 붙여서 지금까지 쓰게되었다고 한다.
healthz는 지금
Kubernetes API 기준으로 /healthz 라는 표현보다는 livez 와 readyz 사용을 지향한다고 한다. 물론 어플리케이션 레벨에서는 health 하나로만 두는 경우가 아직은 많다고 한다. livez 는 프로세스가 살아있는가, readz는 트래픽을 받을 준비가 되어있는가를 파악한다고 한다.
오타인줄 알고 MR 날렸으면
살짝 민망해질뻔했다..
'Back-end' 카테고리의 다른 글
| uv python 버전 관리하기 (0) | 2026.07.27 |
|---|---|
| ssh 키 사용시 나오는 "bad permission: ignore key ..." 해결하기 (0) | 2024.08.03 |
| Django settings.py 파일 분석해보기 (0) | 2024.06.10 |
| Django 프로젝트 시작해보기 (2) | 2024.06.05 |
| [venv] 가상환경과 venv 세팅 알아보기 (4) | 2024.06.04 |