MSA 구조에서, DB 의 데이터를 동기화(정합성 보장)하는데 필요한 개념에 대한 내용을 정리하고자 한다.
1. Outbox Pattern
- 데이터베이스 변경과 이벤트 발행 간의 정합성을 보장하기 위한 패턴 중 하나
- 이벤트를 즉시 발행하지 않고, 먼저 Outbox 테이블에 저장한 후 별도 프로세스가 이를 메시지 브로커로 전달하는 역할 수행
> 이벤트의 중복 발행 가능성이 있기에, Consumer 는 멱등성(Idempotency) 을 보장해야 한다.
. 여기서 멱등성은 '이벤트가 반드시 중복 수신될 수 있음을 가정하는 것' 을 의미한다.
- 방식
> Polling
> CDC(Change Data Capture) (ex. Debezium)
2. Retry
3. DLQ (Dead Letter Queue)
> 여러 번 재시도했을 때도 실패하면, DLQ 로 이동시켜 운영자가 확인할 수 있게끔 한다.
4. Saga Pattern
- 보상 트랜잭션
- 참고) https://chageunchageun-developing.tistory.com/60
5. 상태 검증 배치
- 주기적으로 데이터를 동기화 시키는 배치 작업
6. Event Version 관리
'IT > Cloud & Architecture' 카테고리의 다른 글
| [MSA] MSA(Micro Service Architecture) 전환기 (1) | 2025.04.13 |
|---|---|
| [AWS] EC2 Nginx 무중단 배포 (2) | 2024.12.05 |
| [AWS] DynamoDB 연동기 (2) | 2024.11.29 |
| [AWS] ECS Fargate 도입기 (0) | 2024.11.27 |