← 질문 목록
#355깊이 0

서버마다 시계가 다르면 무엇이 깨지는가?

아키텍처 · 분산시스템깊이장애 대응

시각으로 순서를 정하던 것이 흔들린다. 어긋난 폭이 두 사건 사이의 간격보다 크면 나중 일이 먼저 일어난 것으로 기록된다.

순서서버 A서버 B
1값을 먼저 쓴다아무것도 하지 않습니다
2아무것도 하지 않습니다나중에 쓴다
3시계가 빨라 12:00:03으로 적힌다시계가 느려 12:00:01로 적힌다

두 줄을 시각으로 정렬하면 순서가 뒤집힌다. 여러 서버의 로그를 한데 모아 시각순으로 보는 순간 이 뒤집힘이 그대로 사실처럼 읽힌다.

시계는 조금씩 어긋나고 맞추는 순간 튀기도 한다. 뒤로 당겨지면 같은 시각이 두 번 지나가므로, 시각을 섞어 만든 식별자가 겹칠 수 있다.

핵심 정리

그래서 순서가 중요한 곳에서는 시각만으로 정하지 않는다. 사건마다 세는 값을 따로 두거나, 한 곳에서 번호를 받아 온다.

만료 판정도 흔들린다. 토큰의 유효 기간을 서로 다른 시계로 재면 한쪽에서는 아직 유효한 것이 다른 쪽에서는 이미 지난 것이 된다.

시각을 사건 순서로 그대로 쓰면 위험하다. 시각은 사람이 읽는 값이고, 순서를 정하는 값은 따로 두는 것이 안전하다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

서버마다 시계가 다르면 무엇이 깨지는가?