[엔터프라이즈 애플리케이션 아키텍처 패턴] 16. 오프라인 동시성 패턴 - 낙관적, 비관적 오프라인 잠금
[ 낙관적 오프라인 잠금 ] 특징 충돌이 감지되면, 트랜잭션을 롤백해 동시 비즈니스 트랜잭션 간의 충돌을 방지한다. 한 세션에서 커밋하려는 변경 내용이 다른 세션의 변경 내용과 충돌하지 않는지 확인하는 방법이다. 세션 간의 충돌 가능성이 낮다고 간주될 때 사용하는 방법이다. 가장 일반적인 구현 방법은 시스템의 각 레코드에 버전 번호를 연결하는 것이다. 세션 데이터에 저장된 버전을 레코드 데이터의 현재 버전과 비교하는 것을 의미한다. 낙관적 오프라인 잠금을 구현하는 데 있어서 버전 번호 대신 수정 타임스탬프를 사용하는 것은 좋지 않다. 시스템 클록은 신뢰할 수 없고, 여러 서버 간에 작업을 조율하는 경우, 더욱 신뢰하기 어렵기 때문이다. 버전 번호를 사용할 때 문제점 일관성 없는 읽기의 문제가 해결되지 않..
아키텍처
2022. 1. 22. 18:57