
분산 환경(MSA)에서의 동시성 제어는 단순히 뮤텍스(Mutex) 나 세마포어(Semaphore) 만으로는 해결할 수 없다.이들은 하나의 프로세스 내에서 스레드 간 자원 공유를 제어하기 위한 기법이기 때문이다.프로세스 간에는 메모리를 공유하지 않기 때문에 서로의 락 상태를 확인하거나 제어할 수 없다.즉, 한 서버에서 설정한 락을 다른 서버가 인식할 방법이 없다.따라서 여러 대의 서버가 네트워크를 통해 동일한 공유 자원(예: 재고, 쿠폰, 포인트 등) 에 접근할 수 있는 상황에서는분산 락(Distributed Lock) 이 필요하다. 분산 락(distributed lock) 이란?분산 락은 공통 저장소에 락의 상태를 저장하고 각 프로세스가 이 상태를 읽어 락을 획득하거나 해제하는 방식으로 동작한다...