루나소프트
기술 스택 정보가 없어요.
psmon
스프링부트에서 CQRS 이벤트 스토어 다루기
CQRS에서 이용할수 있는 이벤트 스토어의 유형은 다음과같습니다. Journal * 이벤트 소싱(Event Sourcing) 방식을 사용합니다 * 액터의 상태 변경을 나타내는 이벤트들을 순차적으로 저장합니다 * 추가 전용(append-only) 로그 형태로 이벤트를 저장합니다 * 액터의 전체 상태 변경 이력을 보존합니다. * 액터 복구 시 저장된 이벤트들을 재생하여 상태를 복원합니다 Snapshot * 액터의 전체 상태를 특정 시점에 저장합니다 * 복구 시간을 최적화하기 위한 용도로 사용됩니다 * 전체 이벤트 이력을 재생하지 않고도 빠르게 상태를 복원할 수 있게 해줍니다 * Journal과 함께 사용되며, 가장 최근 스냅샷 이후의 이벤트만 재생하면 됩니다 Durable State * 액터의 최신 상태만을 저장합니다4. 이벤트 이력을 저장하지 않고 현재 상태만 유지합니다. * CRUD 기반 애플리케이션과 유사한 방식으로 동작합니다 * 상태 변경 시마다 전체 상태를 덮어씁니다. 코틀린 코드로 작성되었으며~ CQRS는 언어또는 프레임워크에 의존적이지 않으며 Journal+DurableState를 활용하는 비교적 간단한 예제로 다음 3가지 방식을 각각 이용해 유사하게 작동하는것을 시도해보았습니다. Akka프레임의 액터모델 / 코틀린에서 지원하는 순수액터모델 / 액터모델없이 카프카 스트림 * https://wiki.webnori.com/display/AKKA/%5BKotlin%5D+PersistentDurableStateActor * https://wiki.webnori.com/pages/viewpage.action?pageId=93946646 * https://wiki.webnori.com/display/AKKA/DuralbleState+By+KafkaStream
psmon
DurableStateActor를 순수 코틀린액트로 구현해보기
코틀린 순수액터를 사용해 AKKA액터가 지원하는 영속성장치인 Journal/Durable State를 적용해보았습니다. https://wiki.webnori.com/pages/viewpage.action?pageId=93946646
💡
루나소프트 사람들의
생각이 궁금하다면?
👀
루나소프트 사람들의
관심사가 궁금하다면?