트랜잭셔널 메시징(아웃박스, 폴링 발행기)
목차 1. 트랜잭셔널 메시징 2. Amazon SQS 3. SQSListener Github OAuth2 인증을 통해 테이블에 Account 계정을 생성하고 Github 계정 정보가 변경된 경우 Member 마이크로 서비스의 Account 레플리카를 업데이트 하는 기능을 개발한다. 트랜잭셔널 아웃박스 패턴과 폴링 발행기 패턴을 활용해 DB 업데이트와 메시지 발행에서 마이크로 서비스간의 데이터 일관성이 깨지는 문제를 해결한다. DB 업데이트와 메시지 전송을 한 트랜잭션으로 묶지 않으면 마이크로 서비스간 데이터 일관성이 깨지는 문제가 발생할 수 있다. 예를 들어, DB 업데이트 후 메시지를 발행했지만 트랜잭션을 커밋하기 전에 서비스에 문제가 생겨 서버가 종료되는 경우 메시지는 전송되었지만 DB에는 반영되지 ..
MSA
2022. 10. 22. 15:14
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 트랜잭셔널 아웃박스 패턴
- HTTP 헤더
- MySQL
- http
- 폴링 발행기 패턴
- Ubiquitous Language
- 스프링 카프카 컨슈머
- H2
- 스프링 예외 추상화
- 육각형 아키텍처
- mockito
- 학습 테스트
- Stream
- java8
- 도메인 모델링
- kafka
- JPA
- Spring
- Spring Boot
- Git
- clean code
- named query
- Spring Data JPA
- ATDD
- 클린코드
- 마이크로서비스 패턴
- TDD
- 이벤트 스토밍
- spring rest docs
- 계층형 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함