Optimistic Lock 이용 동시성 문제 해결


Optimistic Lock 이용 동시성 문제 해결

Optimistic Lock Lock을 이용하지 않고 Version을 이용해서 정합성을 맞추는 방법 데이터를 읽은 후에 update를 수행할 때 현재 내가 읽는 버전이 맞는지 확인해서 업데이트를 한다. 만약 읽은 버전에서 수정사항이 생겼을 경우 application에서 다시 읽은 후에 작업을 수행해야 됨 Optimistic Lock을 사용하기 위해서는 Entity에 @Version을 추가해줘야된다. OptimisticLockStockService를 추가해준다. @Lock(value = LockModeType.OPTIMISTIC)을 이용해서 사용할 수 있다. OptimisticLock을 사용할 때 실패 했을 때 재시작할 수 있는 로직을 추가해줘야한다. 개발자가 직접 추가 해야됨 테스트를 해보게 되면 성공한다. OptimisticLock을 Lock을 사용하지 않기에 비관적 락보다 성능상 이점이 있다. 충돌이 빈번하게 일어나면 비관적 락이 더 좋을 수 있다. MySQL을 사용한다면 Iso...


#Java #Lock #OptimisticLock #낙관적락 #동시성

원문링크 : Optimistic Lock 이용 동시성 문제 해결