서론다수의 사용자가 동시에 같은 데이터에 접근하면서 발생하는 race condition에서 결과가 예상과 달라지는 오류를 예방하기 위한 방법에는 여러가지가 있다.그 중 단일 서버 환경에서는 synchronized 키워드만으로도 쓰레드간의 공유 자원 접근을 제어해 동시성 제어 문제를 해결할 수 있다.본 글에서는 분산 시스템 환경에서 동시성 제어 문제를 해결하기 위해 Redis 기반의 분산락(Redis Distributed Lock) 기법을 활용한 방법을 서술한다. 특히 Redisson 라이브러리를 이용하여 Java, Spring Boot 환경에서의 락 획득 및 해제를 구현하고, 다중 서버 환경에서의 동시성 테스트를 통해 그 유효성을 검증한다. 구현 결과, 분산 시스템(2개 서버) 환경에서 synchroni..