Closed kth990303 closed 7 months ago
분산 시스템에 참여하는 노드나 프로세스는 항시 동기화 될 수는 없음. 이벤트 순서를 결정지을 수 있는 메커니즘 필요.
램포트 시간 표기는 이벤트의 논리적인 순서를 따질 수 있게 해주는 도구이며, 실제 시간 표기와는 상관없다.
상황 (위키 발췌)
▶️ 시스템 논리상 (ii)번 이벤트는 (i)번 이벤트보다 선행하여야 한다면?
알고리즘
# event is known
time = time + 1;
# event happens
send(message, time);
(message, time_stamp) = receive();
time = max(time_stamp, time) + 1;
상기 예에서, B는 A의 1번 이벤트에 의해 2번 이벤트를 발생시켰기에, 2번 이벤트 타임스탬프가 반드시 더 크다. 따라서 디스크 D는 이벤트 순서를 결정 가능하다.
12장 제목이 '고도를 기다리며'에 빗대어졌는데요. 자동화된 배포 파이프라인이 없을 시절, 배포 작업이란 막연히 성공을 기대하며많은 리소스를 잡아 먹곤 했음을 전달하려는 의도 같습니다.
필자가 회자한 경험:
사전에 배포 매뉴얼을 수정하고 검토한다. 배포 마다 영향 받는 기능이 다르기에 필요한 리소스 산정도 달라진다. 이 회의에 2~3시간이 걸린다.
새벽 시간에 이해관계자 20~40여명이 대기하고 있다. 배포에 대비하기 위해 미리 잠을 자둘 필요가 있었다.
필자는 점프 호스트에 접속하여, 여러 대의 사설 서버로 스크립트를 실행시킨다. 코드 배포> JSP 컴파일> 심볼릭 링크 변경> 서버 시작
인수 테스트를 진행한다. QA 환경과 운영 환경 데이터가 달라서 QA가 못 거른 버그가 발생.
테스트에 실패하여 롤백을 진행하니 새벽 5시. (심볼릭 링크 변경> 서버 재시작)
주제
'12장-사례 연구: 고도를 기다리며'을 읽고 내용을 요약하거나,
중요✨ 하다고 생각하는 키워드 및 관련 설명을 코멘트로 달아주세요
연관 챕터
34
@caffeine-library/readers-release-everything