"다들 계곡을 지켜볼 순 있어. 근데 logbook 에 적는 건 딱 한 사람이야."
눈은 여럿, 펜은 하나
fleet 엔 지켜보는 건 많아도 돼. 기계마다 자기 상태를 보고하고, probe 는 아무 데서나 돌고, 위임된 agent 는 event 를 남겨. 관찰은 싸니까 많을수록 좋아. 근데 fleet 의 제어 상태를 쓰는 건 딱 한 호스트야. office 라 치자. policy, membership, operation ledger 를 쓰는 건 걔 하나. 눈은 여럿, 펜은 하나.
펜이 둘이면 치르는 값
두 호스트가 둘 다 권위를 쥐고 쓰면 split-brain 을 산 거야. 하나는 랩탑을 retired 로 정하는데, 다른 하나는 여전히 active 로 두고 걔한테 operation 을 걸어. 하나가 이미 시작한 업그레이드를 다른 하나가 또 시작하고. 이제 뭘 읽든 누구 기준으로? 를 물어야 하는데, 정직한 답이 없어. 진실 원본이 둘인 시스템은 진실이 둘인 게 아니라 아예 없는 거야.
관찰자는 싸고, 권위는 안 싸
그래서 일부러 갈라놨어. 관찰은 원하는 만큼 넓게 뿌리되, 권위 있는 write 는 전부 한 주인한테 깔때기처럼 모아. 지켜보는 peer 는 witness 야. 보고만 하지, canonical store 에 서명하거나 합성하거나 쓰지 않아. logbook 저자가 딱 하나라서, 남들이 읽을 때 믿을 수 있는 거야.
탑도 이 규칙에 묶여
이 규칙엔 control-plane 호스트 자신도 예외가 아냐. office 는 펜을 쥔 동안 자기 자신을 fleet 에서 retire 못 해. 그 순간 변화를 적을 writer 가 안 남으니까. 펜을 다른 호스트로 넘기는 건 자기 gate 를 갖춘 진짜 operation 이지, 사고로 벌어지는 일이 아냐. 그 migration 은 Membership 트랙에서 다시 만나.