DB인덱스와 트랜잭션 분리에 대해 다루었던 지난 한 주도 어느 순간 끝이 났다.
1. 문제
서비스가 제공하는 기능에 따라 트랜잭션의 범위는 다르다. 이번 과제는 서비스가 확대되어 서비스를 분리하게 될 경우 예상되는 문제를 어떻게 해결할지 설계하는 것이었다. 트랜잭션의 범위 때문에 서비스를 분리하면 트랜잭션의 문제가 발생하고 이를 해결하기 위해서는 '보상 트랜잭션'이 필요하다.
하지만 '보상 트랜잭션' 개념을 이번에 처음 듣게 되었다.
2. 시도
잘 모르는 개념이기 때문에 단순 구글링을 통해 관련 정보를 찾아볼 수 밖에 없었다.
3. 해결
보상 트랜잭션을 검색하면 연관해서 MSA 개념을 쉽게 찾을 수 있다. MSA(MicroService Architecture)에서 보장하는 보상 트랜잭션 방법을 참고해서 과제를 진행했다.
4. 알게된 것.
마이크로 서비스 아키텍처에서 보상트랜잭션을 보장하기 위해 2PC(Two Phase Commit)과 SAGA 패턴을 사용한다는 것을 확인할 수 있었다.
5. KEEP
포기하지 않고 꾸준히 과제를 제출하는 태도는 계속 유지하자.
6. 개선이 필요한 사항
과제 제출에 급급해서 필요한 내용만 훑는 태도는 지양하자. 과제를 제출하는 것도 중요하지만
어디까지나 목적은 '실력 성장'이란 사실을 잊지말자.
7. TRY
우선 과제를 제출하기 전에 학습이 필요한 내용들을 정리하는 시간을 갖자.

참조
- SAGA 패턴 : https://microservices.io/patterns/data/saga.html
'회고' 카테고리의 다른 글
[항해 플러스 백엔드] 마지막 회고 (4) | 2024.12.11 |
---|---|
[항해 플러스 백엔드] 9주차 회고 (WIL) (0) | 2024.11.25 |
[항해 플러스 백엔드] 7주차 회고 (WIL) (1) | 2024.11.09 |
[항해 플러스 백엔드] 6주차 회고 (WIL) (2) | 2024.11.02 |
[항해 플러스 백엔드] 4주차 회고 (WIL) (0) | 2024.10.21 |