Redisson을 사용하여 분산 락 구현하는 방법
개요 동시성 문제는 상당히 빈번하게 발생한다. 현 회사에서는 유료 이벤트에 참가신청을 하는 경우 비즈니스 로직에서 결제를 같이 진행하는데 동시에 여러번의 요청이 들어왔을 때 중복 결제가 발생했던 이슈가 있었다. 물론, 파이썬으로 구현된 서버이기 때문에 Redlock을 사용하여 해결했었다. 자바에서는 Redisson이라는 레디스 클라이언트가 존재하는데 해당 클라이언트는 분산 락을 위한 메소드를 제공해주기 때문에 간단하게 분산 시스템 환경에서 레디스를 통해 락을 적용할 수 있다. 몇가지 특성 Lua 스크립트의 사용 일반적으로 레디스는 단일 스레드로 돌아가기때문에 그냥 사용하기만 한다면 동시성 문제를 쉽게 해결할 수 있을 것이라 생각할 수 있다. 하지만 여기에는 문제가 존재하는데, 예를 들어 아래와 같은 상황..