Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
Tags
- s
- stream
- C 언어 코딩 도장
- Selection Sorting
- datastructure
- ㅅ
- C programming
- 윤성우의 열혈 자료구조
- 이것이 자바다
- 이스케이프 문자
- insertion sort
- R
- 혼자 공부하는 C언어
- coding test
- Graph
- buffer
- JSON
- Serialization
- list 컬렉션
- Algorithm
- 윤성우 열혈자료구조
- 알기쉬운 알고리즘
- 메모리구조
- Stack
Archives
- Today
- Total
Engineering Note
[분산 트랜잭션] 분산트랜잭션 처리 패턴 본문
분산 트랜잭션 처리 패턴
- 여러 개읜 분산된 서비스를 하나의 일관된 트랜잭션으로 묶는 것
분산 트랜잭션 처리를 위한 전통적인 방법
- 2단계 커밋
- 원자성을 유지하기 위해 분산 데이터베이스 트랜잭션에 포함돼 있는 모든 노드가 커밋(commit)되거나 롤백(rollback)하는 메커니즘
- 단점 : 각 서비스에 잠금(lock in)이 걸려 발생하는 성능 문제 탓에 효율적인 방법이 아니다.
사가 패턴
- 일관성 유지가 필요한 트랜잭션을 모두 묶어 하나의 트랜잭션으로 처리하는 것이 아니라, 각 로컬 트랜잭션으로 분리해 순차적으로 처리하는 방법.
- 롤백이 필요한 경우 보상 트랜잭션으로 데이터의 일관성을 유지한다.
보상 트랜잭션
- 어떤 서비스에서 트랜잭션 처리에 실패할 경우 그 서비스의 앞선 다른 서비스에서 처리된 트랜잭션을 되돌리게 하는 트랜잭션
cf) 원자성(Acidity) : 트랜잭션의 작업이 모든 작업을 완전히 수행하거나 완전히 수행하지 않은 상태로 유지되어야 함을 의미
참고 자료 : 도메인 주도 설계로 시작하는 마이크로 서비스 개발(p68)
Comments