핵심 요약
올리브영이 Spring Boot MongoDB 트랜잭션 도입과 운영 이슈를 실전 경험으로 정리했습니다.
주요 경험
- Replica Set/Oplog 원리 이해 및 트랜잭션 구성 필요성
- PRIMARY에서 읽고 쓰는 트랜잭션 맥락 관리: MongoTransactionManager
- WriteConcern/ReadPreference 조합으로 인한 일관성 이슈 해결
- 커밋 후 이벤트 발행 유지보수성 확보: AFTER_COMMIT, Async
얻은 인사이트
- 커밋 시점이 이벤트 소비에 결정적
- 책임 분리로 안정성 및 유지보수성 강화
- 아키텍처 보강 포인트: Outbox/로그 테일링 고려



