Lock
-
[Spring] Lock 종류 정리 (낙관적 락, 비관적 락, 분산락, 데드락, 등) 및 예시Spring 2025. 5. 8. 10:21
1. Lock이란?1.1 설명Lock은 동시에 여러 개의 트랜잭션이나 프로세스가 같은 리소스(데이터, 파일 등)에 접근하려고 할 때 발생할 수 있는 경쟁 조건(Race Condition)을 방지하기 위한 제어 장치입니다. 데이터 정합성을 보장하고 예기치 않은 충돌을 방지하기 위해 필수적인 메커니즘입니다.1.2 원리Lock은 주로 다음의 방식으로 작동합니다.하나의 트랜잭션이 리소스를 점유하면, 다른 트랜잭션은 해당 리소스가 해제될 때까지 대기하거나 실패 처리됩니다.Lock의 종류에 따라 점유 방식(낙관적, 비관적)이나 위치(DB, 분산 시스템 등)이 달라집니다.2. 낙관적 락 (Optimistic Lock)2.1 낙관적 락이란?낙관적 락은 충돌이 거의 발생하지 않을 것이라고 가정하고 처리하는 방식입니다. ..