CS) 06_동시성 제어 (낙관, 비관, 분산락)
동시성 제어 다수의 사용자 또는 프로세스가 동일한 자원(데이터)을 동시에 접근하거나 수정하려 할 때발생하는 문제를 방지하기 위한 기법 락을 관리하는 방식으로낙관적 락비관적 락분산 락락을 획득하는 방식으로공정 락비공정 락 으로 나눌 수 있다.락을 관리하는 방식에 따라 낙관적 락, 비관적 락, 분산 락 1. 낙관적 락 (충돌은 자주 일어나지 않아!) @Version 어노테이션을 사용해 엔티티의 버전을 관리한다.데이터 수정 시 현재 버전을 확인한 뒤 수정하며, 충돌 발생 시 예외를 발생충돌이 없을 경우 업데이트와 함께 버전 증가 장점Lock을 사용하지 않으므로 트랜잭션 간 대기 시간이 없다.읽기 작업이 많은 시스템에 적합함.단점:충돌이 잦은 경우, 예외(OptimisticLockingFailureExc..
2024.12.27