영수증을 통해 고객이 책을 구매했고 그에 맞춰 재고 관리 시스템이 최신 정보로 갱신되었음을 확정합니다. 이런 재고 관리 시스템에서는 모든 거래가 강한 일관성strong consistency을 가져야 합니다. 여기서 강한 일관성이란 점포의 재고 장부 읽기 요청이 순차적으로 처리되며, 다음에도 재고 관리 시스템을 통해 읽는 상태가 동일하다는 의미입니다.
시간이 지나 서점이 아주 잘 되어서 늘어나는 고객층을 잡으려고 점포를 여러 곳 더 열게 되었습니다. 이제 여러 점포에 있는 재고를 어떻게 관리해야 할까요?
일단 현재 시스템 아키텍처를 재설계하기로 하고, 첫 점포에 원본 장부를 두기로 했습니다. 그러면 그 외의 모든 점포에는 원본에 연결될 새 장부가 존재하겠죠.
새 시스템은 아주 잘 돌아갑니다. 원본 장부의 전원이 꺼지기 전까지는요. 원본 장부에 문제가 생기면 모든 점포에서 어떤 손님도 구매를 할 수 없고 대기 줄만 길게 늘어질 겁니다.
대기 줄 처리가 너무 오래 걸려 고객이 불만스럽게 나가도록 둘 건가요? 이를 해결하기 위해서는 다른 방식으로 재고 관리 시스템을 검증하고 업데이트할 필요가 있습니다.