애그리거트 트랜잭션 관리
트랜젝션이 잘못되면 데이터의 일관성이 깨진다. 즉, 애그리거트의 일관성이 깨지기 떄문에 적절한 트랜잭션 처리 기법이 필요하다. 애그리거트에 대해 사용할 수 있는 대표적인 트랜잭션 처리 방식은 선점 잠금과 비선점 잠금이 있다. # 선점 잠금 선점 잠금은 먼저 애그리거트를 구한 스레드가 애그리거트 사용이 끝날 때까지 다른 스레드가 해당 애그리거트를 수정하지 못하게 막는 방식이다. 스레드 1이 선점 잠금 방식으로 애그리거트를 구하면, 스레드2 는 애그리거트에 대한 잠금이 해제할 때까지 블로킹(Blocking)된다. 선점 잠금은 보통 DMBS가 제공하는 행단위 잠금을 사용해서 구현한다. Jpa EntityManager.find() 함수를 통해 선점 잠금 방식을 사용할 수 있다. LockModeType을 PESS..
2023.08.26