Files
llm-wiki/vault/40-publish/blog-topics/spring-actuator-health-probe-group-split-2026-07-02.md
T

83 lines
3.9 KiB
Markdown

---
title: blog-topic / spring-actuator-health-probe-group-split
source_type: blog-topic
status: raw
related_branches: [feature-runtime-health-lifecycle-contract]
related_projects: [ca-tmpl]
tags: [blog-topic, ca-tmpl, runtime, spring-boot, kubernetes, graceful-shutdown, sigterm]
created: 2026-07-02
status_label: ready-for-canonical
target_audience: backend-engineer
inspiration_url:
archive_url:
---
# blog-topic: spring-actuator-health-probe-group-split
> Layer: `raw/blog-topics/` — 작업 중 나온 블로그 글감 원석. 최종 블로그는 canonical 정제 후 `wiki/blog/`에서 작성한다.
## Parent / 부모
- [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] — liveness/readiness/startup probe group split 구현/검증 후보에서 나온 글감.
## 트리거 / Trigger
- 트리거 유형: `branch-work`
- 트리거 날짜: 2026-07-02
- 트리거 연결 노트: [[raw/branch-notes/feature-runtime-health-lifecycle-contract]]
## 글감 / Topic seed
- 한 문장 요지: Spring Actuator health group을 liveness/readiness/startup으로 나누고, startup guard와 shutdown lifecycle을 같은 운영 계약으로 본 이유를 정리한다.
- 예상 제목 후보:
- Spring Actuator health group을 세 개로 나눈 이유
- readiness와 startup을 같은 endpoint로 보면 생기는 문제
## 핵심 주장 후보 / Claim candidates
- 사실 후보:
- branch에 runtime health lifecycle probe group과 startup guard 구현/검증 기록이 있다 — 근거 후보: [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] section+line `:359-385`.
- 경험 후보:
- blog seed가 직접 명시되지는 않았지만 구현 기록과 test edge가 충분하다는 lane-08 판정이 있다.
- 의견/해석 후보:
- liveness/readiness/startup은 모두 health endpoint지만 실패 시 orchestration action이 다르므로 분리해야 한다.
## Outline seed
1. liveness/readiness/startup은 같은 "건강"이 아니다 — restart, traffic removal, startup delay라는 action이 다르다.
2. Spring Actuator group split이 주는 구조 — dependency readiness와 process liveness를 나눈다.
3. auth/exposure blocker를 분리하기 — probe가 있어도 network/auth 설정이 막으면 운영 계약이 완성되지 않는다.
## Canonical 전환 후보 / Canonical extraction candidates
- `wiki/projects/ca-tmpl/runtime-health-lifecycle-contract.md` 후보:
- ca-tmpl runtime health lifecycle implementation.
- `wiki/concepts/spring-actuator-health-probes.md` 후보:
- Spring Actuator health groups와 Kubernetes probes 일반 개념.
- 필요한 추가 검증:
- actuator exposure/auth, probe endpoint path, Kubernetes manifest 연결 여부.
## Sources / 근거 후보
- [[raw/branch-notes/feature-runtime-health-lifecycle-contract]] — probe group split과 startup guard 근거.
- [[raw/blog-topics/spring-boot-startup-exit-code-propagation-2026-06-10]] — 인접한 startup failure topic.
## 미해결 / Unknown
- 아직 확인해야 할 사실: actuator exposure/auth blocker 해소 여부.
- 과장하면 안 되는 부분: Kubernetes end-to-end readiness 보장을 단정하지 않는다. 구현 기록과 남은 blocker를 분리한다.
- 블로그로 쓰기 전에 필요한 canonical 정제: runtime health project 문서의 current state 갱신.
## Decision / 처리 결정
- 액션: `promote-to-canonical`
- 이유: `wiki/projects/ca-tmpl/runtime-container-health-migration.md` 에 Actuator health probe group split 글감으로 반영했다.
- 다음 단계: target canonical이 아직 `draft` 이므로 `blogify` 전 review/verify가 필요하다. Kubernetes end-to-end readiness 보장을 단정하지 않는다.
## Related / 관련
- 관련 branch: [[raw/branch-notes/feature-runtime-health-lifecycle-contract]]
- 관련 error:
- 관련 interview prep:
- derived blog: 생성 전. 생성 시 `wiki/blog/spring-actuator-health-probe-group-split-YYYY-MM-DD.md` 후보