
오늘날 우리가 사용하는 온라인 협업 도구, 예를 들어 Google Docs와 같은 애플리케이션은 어떻게 실시간으로 여러 사용자가 동시에 문서를 편집할 수 있을까요? 그 비밀은 바로 분산 시스템에서 이벤트 순서를 처리하는 기술에 있습니다. 이번 포스트에서는 Lamport Clock과 Vector Clock이라는 두 가지 핵심 개념을 통해 이를 살펴보겠습니다.단일 스레드에서의 간단한 이벤트 처리단일 스레드로 동작하는 로컬 애플리케이션에서는 이벤트의 순서를 처리하는 것이 간단합니다. 예를 들어, Notepad에서 파일을 열고 편집을 시작하면 이벤트는 시간 순서대로 기록됩니다. 파일을 열었을 때는 타임스탬프가 0, 헤더를 추가했을 때는 1, 텍스트를 추가했을 때는 2로 기록됩니다. 이를 '논리적 시간'이라고 부..