728x90
출처: https://medium.com/dtevangelist/event-driven-microservice-란-54b4eaf7cc4a
MicroService는 하나의 시스템을 기능에 따라 각각을 하나의 서버로 구성하는 Architecture pattern이다. 하지만 이런 MicroService에서는 각 서버에 DB가 각각 있는 것을 보통 지향한다.
이때, 문제가 되는 것은 각 DB들을 언제 동기화 할 것인가? 이다. 이때 이것을 해결해줄 수 있는 방법 중 하나가 Event Driven을 도입하는 것이다.
여기서 이벤트는 데이터의 CUD (Create, Update, Delete)라고 할 수 있다.
sequence는 아래와 같다.
- CUD가 발생
- 이벤트 로그를 저장소에 따로 보관
- 장애 발생시 이를 기반으로 복원 가능
- 데이터의 현재 상태가 됨
- 메세지 큐를 활용해서 이벤트를 등록하고 구독한 서비스들에게 메세지 전부 전달
- 각 DB CUD 수행
여러 기업들이 EVENT 기반으로 microservice를 확장하려 한다.
728x90
'디자인패턴' 카테고리의 다른 글
Edge computing 이란? (0) | 2024.06.24 |
---|---|
MVC 패턴 (Model-View-Controller pattern) (0) | 2024.06.20 |
높은 응집도, 낮은 결합도 예제 코드 (0) | 2024.06.15 |
SOLID 원칙 (0) | 2024.06.14 |
GRASP PATTERN (0) | 2024.06.13 |