락1 JPA에 락(Lock) 걸어서 동시성 이슈 해결하기 JPA에 락(Lock) 걸어서 동시성 이슈 해결 프로젝트를 진행하다가 발생한 동시성 이슈 관련해서 트러블 슈팅한 과정을 포스팅하고자 한다. 도서문장 공유 서비스인데 여기에는 피드에 좋아요를 누르는 기능이 있다. 위의 그림을 보면, 유저가 피드에 좋아요를 하고 싶으면 위의 그림의 하트 버튼을 눌러서 하면 된다. 하지만 이 기능에서 동시성 문제가 발생했다. 피드 좋아요를 아주 짧은 시간 안에 여러 번 누를때 중복된 데이터가 쌓이는 이슈가 발생했다. 피드 좋아요 API의 프로세스 피드 좋아요 API의 프로세스는 다음과 같다. 1. 좋아요 API가 서버에 요청된다. 2. 서버는 유저 Id와 피드 Id를 알아내서 동일한 유저 Id - 피드 Id 쌍이 존재하는지 확인한다. 3. 중복으로 확인되면 예외 메세지를 보낸.. 2023. 3. 19. 이전 1 다음