
173
7
장
상태 저장 스트리밍
이용해 얼마든지 다시 채워넣을 수 있습니다. 소스 스트림에서 재구성하는 경우와 마찬가지로
새로운 상태 저장소 사본을 만들어야 합니다. 마이크로서비스 컨슈머 인스턴스는 처리를 재개
하기 전에 체인지로그에 저장된 전체 상태를 재구성해야 합니다.
WARNING
_
소스 이벤트 스트림이나 체인지로그에서 외부 상태 저장소를 재구성하는 작업은 네트워크 지
연 때문에 시간이 아주 오래 걸릴 수 있습니다. 이런 상황도 여러분의 마이크로서비스
SLA
에 문제가 없는지
꼭 확인하세요.
스냅샷 사용
외부 상태 저장소는 자체 백업/복구 프로세스를 제공하는 경우가 일반적입니다. 실제로 많은
호스티드 서비스 업체가 간단한 ‘원클릭
one
-
click
’ 솔루션을 제공합니다. 주어진 상태 저장소 구현
체에 알맞게 상태를 캡처/복구하는 모범 사례를 따르는 게 좋습니다.
저장된 상태가 멱등적이라면 오프셋과 구체화 상태가 정확히 일치하는지 일일이 확인할 필요
는 없습니다. 이 때 컨슈머 오프셋을 스냅샷을 찍기 몇 분 전 값으로 세팅할 경우 유실되는 데
이터가 없도록 주의해야 합니다. 이렇게 해야 이벤트의 ‘적어도 한 번 이상’ 처리가 보장됩니다.
저장된 상태가 멱등적이지 않고 중복 이벤트를 수용 불가한 경우에는 컨슈머 오프셋을 데이터
안에 넣어 데이터 저장소에 보관해야