
서론 Transactional Outbox Pattern에 대해서 궁금하시다면 해당 링크를 참고해 주세요. Transactional Outbox Pattern 이번 글에서는 Spring Boot와 Polling Publisher를 활용하여 어떻게 Transactional Outbox Pattern을 구현할 수 있는지, 그리고 주의점이 무엇인지 알아보겠습니다. 동작 과정 위 동작 과정은 다음과 같습니다. 클라이언트의 요청이 발생합니다. Member Service에서 Member 테이블에 대해 Insert, Update, Delete가 발생하면 Outbox 테이블에도 변경사항을 기록할 수 있도록 데이터를 저장합니다. Message Relay는 주기적으로 Outbox 테이블을 읽고 있습니다. Message R..

Transactional OutBox Pattern 이란? MSA 환경에서 데이터베이스의 상태가 변경되면 해당 트랜잭션과 함께 이벤트를 발행해야 하는 경우가 종종 발생하곤 합니다. 예를 들어 사용자가 회원가입을 완료한 경우 쿠폰을 발급하거나 이메일을 발송해야 하는 경우입니다. 위와 같은 이벤트를 발행하는 행위는 데이터베이스의 상태 변경과 원자적으로 실행되어야 합니다. 만약 데이터베이스에 회원가입 정보를 커밋한 뒤에 이벤트를 발행하면 이벤트가 어떠한 이유로 인해 오류가 발생하여 제대로 발행이 되지 않았다면? 데이터의 일관성이 깨질 우려가 있습니다. 간단한 코드로 조금 더 이해를 해보겠습니다. 🤔 코드로 살펴보기 아래 코드는 사용자의 회원가입 요청이 들어왔을 경우 한 트랜잭션 안에서 이벤트를 발송하고 있습니..
- Total
- Today
- Yesterday
- redis 대기열 구현
- spring boot excel download oom
- redis sorted set으로 대기열 구현
- 자바 백엔드 개발자 추천 도서
- transactional outbox pattern
- pipe and filter architecture
- spring boot redisson 분산락 구현
- spring boot excel download paging
- 서비스 기반 아키텍처
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- microkernel architecture
- java userThread와 DaemonThread
- java ThreadLocal
- spring boot redisson sorted set
- 공간 기반 아키텍처
- spring boot poi excel download
- 트랜잭셔널 아웃박스 패턴 스프링부트
- 레이어드 아키텍처란
- @ControllerAdvice
- JDK Dynamic Proxy와 CGLIB의 차이
- spring boot redis 대기열 구현
- space based architecture
- 람다 표현식
- polling publisher spring boot
- pipeline architecture
- transactional outbox pattern spring boot
- spring boot 엑셀 다운로드
- spring boot redisson destributed lock
- redis sorted set
- service based architecture
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |