본문 바로가기
C.W.K.
Stream
Lesson 01 of 04 · published

적어둔 건 가설이야

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

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

허브가 있어야 하는 이유가 이 틈이야

첫 트랙에서 허브의 핵심은 '뭐가 멀쩡하냐'에 답하는 거였지. 북마크로는 못 건드리는 질문. 여기서 그 질문이 이빨을 드러내. roster 에 'Ember 는 port 8100' 이라고 적힌 거랑, Ember 가 지금 진짜로 8100 에 떠 있는 거는 완전히 다른 사실이야. 앞엣것은 누가 언젠가 적어두고 아직 맞기를 바라는 말이고, 뒤엣것은 지금 이 순간 host 에서 재본 값이지. 적힌 걸 보여주면서 그걸 상태라고 부르는 허브는 좀 예쁜 북마크일 뿐이야.

host 에서 확인하고, 본 대로 보여줘

그래서 Firelink 는 적힌 걸 가설로, 본 걸 답으로 다뤄. 준비 상태든 설치된 서비스든 풀린 URL 이든 찾아낸 버전이든 돌아가는 상태든, 전부 진짜 host 에서 확인하고 본 대로 내놔. 적힌 건 census 한테 어디를 보고 뭘 기대할지 알려줄 뿐이고, 실제로 뭐가 있는지는 probe 가 알려줘. 둘이 맞으면 좋고. 어긋나면 그 어긋남이 drift 야. 덮을 에러가 아니라 그 자체로 다뤄야 할 사실이지.

이 순서가 왜 중요하냐면

방향이 곧 규율이야. 본 게 적힌 걸 이겨. 늘. probe 는 서비스가 죽었다는데 roster 엔 떠 있어야 한다고 적혀 있으면, 허브는 '적힌 건 살아있음, 본 건 죽음' 이라고 보고해. roster 를 믿고 초록불 켜지 않아. 적힌 게 현실을 이기는 일은 없어. 뻔한 소리 같지? 근데 얼마나 많은 대시보드가 config 를 띄워놓고 그걸 건강이라 부르는지 보면 생각이 달라져. 걔들은 뭐가 돌아야 하는지를 그려놓고, 안 돈다는 건 네가 고생해서 알아내게 둬. Firelink 는 반대로 가. 뭐가 있는지를 보여주고, 적힌 것과 갈라지는 자리를 짚어줘.

적힌 건 전부 진짜 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 나 마지막으로 괜찮았던 값이야? 상태인 척하는 선언을 하나 찾아봐. 실제로는 고장 났는데 그게 초록으로 떠 있을 상황을 그려보고, 제대로 재봤으면 뭘 잡았을지도 적어봐.
Hint
표시가 누가 config 를 고쳐야만 바뀐다면 그게 신호야. 서비스가 죽었을 때 스스로 빨개지지 못하는 '건강'은 관찰이 아니라, 적어둔 걸 너한테 되읊어주는 거야.

Progress

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

댓글 0

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

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