Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Info

스냅샷은 앞장 이벤트소싱에서도 부분적으로 사용이되었습니다. 스냅샷은 성능상의 목적으로 다양한곳에서 혼합되어 사용될수 있으며

그 컨셉은 간단합니다. 무수히 발생하는 이벤트로 인해 우리가 설계한 어떠한 객체의 상태는 지속적으로 변경된다는 점이며

모든 상태변화를 기록하는것은 불필요할수도 있으며, 필요한 순간의 청사진만 찍어서 그것을 활용할수 있다란 것입니다.


상태를 기록하는 범위주기에따라 세가지로 구분되며, 그 차이를통해 스냅샷을 이해할수가 있습니다.

  • 이벤트저장 : 상태복원은 연속된 이벤트 재생만을 통해가능하며 리플레이와같은 구현을 위해 이벤트 자체를 모두 기록
  • 상태 히스토리 저장 : 모든 이벤트를 기록할필요없이 특정시점의 상태를 복원을 하면되기 때문에, 원하는 만큼 상태를 기록함
  • 마지막 상태만 저장 : 마지막 저장값만 유지함으로, 별도로 저장 히스토리를 쌓지 않으면별도의 저장 히스토리 기능을 만들지 않는다고하면, 단 1건의 변경 이력을 보는것은 보는것이 불가합니다.


AKKA에서의 스냅샷은 모든것을 저장해야 하는것과실시간 메시지 모든것을 저장해야 요구와, 중요한 1건은 1건은 꼭 저장해야 하는 Persitence 각기 다른 요구 요건에서

중간 조율을할수 있는 장치쯤으로 정의해봅니다중간쯤에 위치하여 조율을하는 장치로 활용할수가 있습니다.

연관 키워드 : difference between redo and snapshot

...