ONE QUESTION AT A TIME.

천천히 생각하고, 분명하게.

TODAY’S QUESTION424 / 1500
분산 시스템난이도 중하5분 답변 목표 · 보강본

리더가 lease를 얻었으니 만료 전에는 혼자 쓰는 것이 보장되나요?

잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?

답변과 점검 포인트 펼치기답변 접기
01

구두 답변

정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.

lease는 정한 시간과 프로토콜 조건 아래 소유권을 주는 방식이며 작업자가 멈추거나 네트워크가 지연되면 로컬 판단이 낡을 수 있습니다. 실제 쓰기 지점에서 새 세대를 확인하는 펜싱이 필요할 수 있습니다.

동작 원리와 전제

A가 lease를 얻고 오래 정지한 동안 B가 새 lease를 얻으면 A는 깨어난 뒤 옛 작업을 보낼 수 있습니다. 시계를 확인한 직후에도 정지할 수 있으므로 체크 후 실행 사이 경쟁이 남습니다. lease 만료와 프로세스 종료는 다릅니다.

선택과 실패 처리

갱신 실패 시 신규 작업을 막고 진행 중 효과를 정리하며 저장소가 증가 토큰을 비교해 낮은 세대 쓰기를 거절하도록 합니다. 토큰 비교와 변경이 원자적이어야 합니다. 단조 시계의 로컬 경과 측정과 서버 간 시간 가정도 구분합니다.

구체적인 사례와 검증

저장 지점이 토큰 12를 이미 본 뒤 토큰 11의 쓰기를 받으면 거절하도록 할 수 있습니다. 토큰을 앱에서 먼저 조회한 뒤 조건 없는 쓰기를 하면 그 사이 새 owner가 바뀔 수 있으므로 비교와 변경이 같은 원자 경계여야 합니다. 기존 owner가 외부 API에 보낸 작업은 lease 회수만으로 중단되지 않습니다. 해당 API가 펜싱을 지원하지 않으면 같은 논리 작업 ID의 중복 방지나 단일 권위 실행 경로를 설계합니다. 갱신 ACK를 받지 못한 경우 실제 lease 상태가 불확실할 수 있어 무리하게 계속 쓰지 않습니다. 가용성과 안전성의 선택을 장애 모드별로 명시하겠습니다.

긴 pause·갱신 응답 유실·분할·재시작을 시험합니다. 펜싱을 지원하지 않는 외부 API는 멱등 키·단일 실행 지점 등 보장 범위를 낮춰 설계합니다. lease 제공자의 성공 응답만으로 모든 외부 자원의 독점이 생기지는 않습니다.

02

득점 포인트

이해가 드러나는 지점을 확인해 보세요.

  • 핵심 구분: lease는 정한 시간과 프로토콜 조건 아래 소유권을 주는 방식이며 작업자가 멈추거나 네트워크가 지연되면 로컬 판단이 낡을 수 있습니다.
  • 선택 조건: 갱신 실패 시 신규 작업을 막고 진행 중 효과를 정리하며 저장소가 증가 토큰을 비교해 낮은 세대 쓰기를 거절하도록 합니다.
  • 검증 기준: 긴 pause·갱신 응답 유실·분할·재시작을 시험합니다.
03

감점 포인트

놓치기 쉬운 조건과 오해를 짚어 보세요.

  • lease 만료 시간이 지나면 옛 owner의 프로세스와 외부 호출도 종료됐다고 한다.
04

더 파고들 거리

하나 더 질문하며 이해의 범위를 넓혀 보세요.

  • 옛 작업자가 소유권 만료 뒤 깨어나면 실제 저장 지점에서 어떤 세대로 쓰기를 거절하나요?
  • 표시 시각·로컬 경과 시간·권위 있는 변경 순서는 어떤 시계와 버전으로 나누나요?
  • 리더의 권위 확인과 applied index 대기는 읽기에서 각각 왜 필요한가요?

득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.

원리부터 공부하고 싶다면

답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.

← 전체 질문 보기