더북(TheBook)

다시 예약 서비스 예시로 돌아와서 다음 그림을 한번 보기 바랍니다. 첫 번째 사용자(u1)가 객실을 예약할 때 해당 예약에 대한 쓰기 작업이 우선 db1에만 기록되고, 이후 db2와 db3으로 복제된다고 가정해 봅시다. 이 복제 과정이 진행되는 동안, 두 번째 사용자(u2)가 해당 객실(r1)이 예약 가능한지 확인하기 위해 객실 예약 가능 여부를 확인하는 요청(isRoomAvailable(r1))을 보냅니다. 이때 API 응답은 쓰기 작업이 db2에 복사되었는지에 따라 ‘예약 가능’ 또는 ‘예약 불가’가 될 수 있습니다.

▲ 그림 2-2 호텔 객실 예약 시스템 예시로 일관성 이해하기

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.