최범균 님의 "도메인 주도 개발 시작하기: DDD 핵심 개념 정리부터 구현까지" 책을 정리한 포스팅 입니다. 1. 애그리거트와 트랜잭션서로 다른 스레드/트랜잭션이 같은 애그리거트의 DB를 동시에 수정하면 충돌이 일어날 수 있음‼️ 두 스레드가 동시에 커밋하면 일관성 깨짐➡️ 해당 테이블의 행에 잠금을 걸어 동시 커밋을 막음 예시) 배송 정보 변경더보기시스템: 배송 상태를 배송으로 변경할 때사용자: 배송지 주소를 변경할 경우➡️ 시스템의 애그리거트 객체와 사용자의 애그리거트 객체는 서로 독립적 (개념적으로는 같지만 물리적으로는 서로 다름) 2. 선점 잠금먼저 들어온 트랜잭션이 커밋될 때까지 같은 행을 접근하는 다른 트랜잭션은 잠시 blocking됨 (대기)먼저 들어온 트랜잭션이 커밋되면 잠금이 해제됨➡️ ..