C.W.K.
Stream
Lesson 01 of 04 · published

선언은 가설이다

~13 min · firelink, observability, verification, health-check

Level 0식은 재
0 XP0/32 lessons0/12 achievements
0/100 XP to next level100 XP to go0% complete
"적어둔 건 가설이야. 머신이 하고 있는 게 진실이고. 둘을 절대 헷갈리지 마."

허브가 존재하는 이유인 그 간격

첫 트랙에서, 허브의 핵심은 '뭐가 건강해?'에 답하는 거였어 — 북마크가 못 건드리는 질문. 여기서 그 질문이 이빨을 얻어. roster 가 'Ember 는 port 8100 에서 돈다'고 선언하는 것과 Ember 가 지금 실제로 8100 에 떠 있는 건 완전히 다른 두 사실이야. 첫째는 선언이야. 누가 한 번 적어둔 것, 여전히 참이길 바라는. 둘째는 관찰이야. host 에서, 이 순간 측정된. 선언을 보여주고 그걸 상태라 부르는 허브는 그냥 더 예쁜 북마크야.

host 에서 검증하고, 정직하게 surface 해

그래서 Firelink 는 declared state 를 가설로, observed state 를 답으로 취급해. 프로덕션 readiness, 설치된 서비스, resolve 된 URL, 발견된 버전, runtime 건강이 다 진짜 host 에서 검증되고 정직하게 surface 돼. 선언은 census 에 어디 볼지, 뭘 기대할지 말해주고; probe 는 실제로 뭐가 있는지 말해줘. 둘이 맞으면 좋고. 어긋나면, 그 불일치가 drift 야 — 덮을 에러가 아니라 first-class 사실.

왜 이 순서가 중요한가

방향이 규율이야. 관찰이 선언을 이겨, 늘. probe 가 서비스가 죽었다는데 roster 가 떠 있어야 한다면, 허브는 '선언은 up, 관찰은 down'을 보고해 — roster 를 조용히 믿고 초록불을 보이지 않아. 선언은 절대 현실을 override 못 해. 얼마나 많은 대시보드가 config 를 보여주고 그걸 건강이라 부르는지 눈치채기 전엔 뻔하게 들려. 그것들은 뭐가 돌아야 하는지를 렌더하고, 안 돈다는 걸 힘들게 알게 둬. Firelink 는 그걸 뒤집어 — 뭐가 있는지를 보여주고, 선언된 것과 갈라지는 데를 flag 해.

모든 선언을 시스템이 진짜 host 에 대해 검증해야 하는 가설로 취급하고, 관찰된 진실이 모든 불일치를 이기게 해. 측정 대신 config 를 보여주는 상태 표시는 자신 있는 거짓말쟁이야 — 실제로 본 적이 없어서, 물건이 불타는 동안 초록을 보여줄 거야.

Code

선언은 어디 볼지; 관찰은 뭐가 있는지·python
# Declared truth comes from the ledgers (a hypothesis about the world).
declared = network_ledger.get("cwkEmber")   # {"host": "server", "port": 8100}

# Observed truth is measured from the actual host, right now.
observed = probe_service(
    host=declared["host"],
    port=declared["port"],
    expect_identity="cwkEmber",             # we know what SHOULD answer
)

# The display shows OBSERVED, and flags any disagreement as drift.
status = observed.state                     # running | stopped | missing | unknown
if declared and observed.state == "stopped":
    drift.add("declared up, observed down")  # NOT a green light

# The declaration told us where to look. It never gets to be the answer.

External links

Exercise

네가 의존하는 상태 페이지나 대시보드를 찾아. 질문 하나 던져. 각 표시가 진짜 시스템에서 측정된 거야, 아니면 config / last-known-good 을 보여주는 거야? 실제로는 상태로 위장한 선언인 표시를 하나 찾아. 그게 진짜 물건이 고장 났는데도 초록을 보일 시나리오를 설명해봐 — 그리고 정직한 observed probe 가 뭘 잡았을지.
Hint
신호는 누가 config 를 편집해야만 바뀌는 표시야. '건강'이 서비스가 죽을 때 스스로 빨개질 수 없으면, 관찰하는 게 아냐 — 선언을 너한테 되울리는 거야.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.