Page History
Info |
---|
이벤트 소싱의 아이디어는 간단합니다. 서비스에서 발생하는 이벤트를 기록을하고, 이벤트를 소비하는 서비스를 분리하는것입니다. 이벤트는 복제가 용이하고 쉽게 재생이 될수 있기때문에 이벤트를 소비하는 서비스의 확장,복구,개선 3가지활동을 더 간단하게 할수 있다라는것입니다. |
이벤트정의
이벤트 소싱은 간단한 컨셉이나, 이러한 컨셉을 적용하는것이 어려운 이유중하나는
이벤트 중심적(Event Driven)설계가 선행이되어야하는데 이것에대한 이해및 설계가
익숙하지 않는데 있으며 기존 설계를 바꾸는것 역시 쉽지 않은데 있습니다.
방식 | 전통적인 3 tier 아키텍 사고방식 | 이벤트 중심적 사고방식 |
---|---|---|
프레젠테이션 : 사용자가 시스템과 상호 작용하는 사용자 인터페이스 응용 프로그램 : "비즈니스 로직" 수행 우리는 일반적으로 상태를 유지하지 않고 작업을 수행합니다. 지속성 (Persistence) : 일반적으로 데이터베이스에 저장하는 장소. | 동기식 요청 - 응답 작업 (예 :REST / JSON) 서비스가 생성하는 이벤트 서비스가 소비하는 이벤트 일괄 읽기 및 쓰기 (예 : 서비스에서 분석 시스템으로 데이터를 추출하는 ETL) | |
구매한건을 진행하였을때 사용자의 요청 하나당 저장소 한건이 저장되는것이 일반적입니다. | 구매한건을 진행하기위해 수많은 이벤트가 발생을 하게되며 생성하는것과 소비하는것을 분류하여 기록을 하는것입니다. |
참고링크: https://hackernoon.com/events-as-first-class-citizens-8633e8479493