- 이벤트 스토밍의 정의: 이벤트 스토밍은 비즈니스 도메인에 대한 이해를 높이기 위해 사용되는 시각화 기술입니다. 이벤트 스토밍은 도메인 이벤트를 중심으로 모델링하며, 이를 통해 시스템의 구성 요소와 간섭을 시각적으로 파악할 수 있습니다.
- 이벤트 스토밍의 특징: 이벤트 스토밍은 다음과 같은 특징을 가집니다.
- 비즈니스 중심: 이벤트 스토밍은 비즈니스 도메인에 집중합니다.
- 시각화: 이벤트 스토밍은 시스템을 시각화하여 이해하기 쉽게 만듭니다.
- 협업: 이벤트 스토밍은 다양한 이해관계자들과 함께하는 협업적인 모델링 방법입니다.
- 이벤트 스토밍의 절차:
- 이벤트 스토밍을 시작하기 전에 목표를 정하고, 참여자들을 모집합니다.
- 이벤트 스토밍을 위한 도메인 모델을 구축합니다.
- 이벤트를 식별하고, 이벤트 간의 관계를 모델링합니다.
- 모델을 검증하고, 이벤트의 누락이나 중복을 확인합니다.
- 마이크로서비스 간의 이벤트를 모델링하고, 서비스의 경계를 정합니다.
이벤트 스토밍은 크게 두 가지 단계로 이루어집니다. 첫째는 이벤트 스토밍 세션에서 발견된 도메인 이벤트를 기반으로 비즈니스 프로세스를 시각화하고, 두 번째는 각 이벤트에 대한 세부 정보를 정의하고 해당 이벤트를 처리하는 마이크로서비스를 식별하는 과정입니다.
구성 요소는 다음과 같습니다.
- 이벤트: 비즈니스 프로세스에서 발생하는 중요한 사건 또는 액션.
- 커맨드: 상태 변경을 유발하는 이벤트를 발생시키는 요청.
- 액터: 이벤트를 유발시키는 주체.
- 액터의 의도: 액터가 이벤트를 발생시키는 이유.
- 액터가 사용하는 정보: 액터가 이벤트를 발생시키기 위해 필요한 정보.
- 액터의 반응: 액터가 이벤트를 수신한 후 어떻게 반응할지.
기술 요소로는 이벤트 소싱, CQRS(Command Query Responsibility Segregation), 도메인 주도 설계(DDD) 등이 있습니다.
연관 기술로는 마이크로서비스 아키텍처(MSA), RESTful API, Kafka 등이 있습니다. MSA에서는 각 마이크로서비스가 자체 데이터 스토어를 갖는 것이 아니라 이벤트 스토어를 공유하여 상호작용합니다. RESTful API는 서비스 간 상호작용을 위한 표준화된 인터페이스를 제공하며, Kafka는 대용량의 이벤트 처리를 위한 분산형 스트리밍 플랫폼입니다.
'IT정보공학 > SW 공학' 카테고리의 다른 글
소프트웨어 테스트 종류 (0) | 2023.04.12 |
---|---|
PoC (Proof of Concept) (0) | 2023.03.24 |