동시성

· Spring
저번 포스팅에서, 함께 결제시 모든 참가자가 실시간으로 메뉴를 선택/취소 할 수 있어야 했습니다. 실시간으로 빠른 처리를 위해 Redis에 객체를 저장해두고 수정/조회 작업을 수행하였는데, 거의 동시에 메뉴를 선택하는 경우에 앞 사람이 선택한 메뉴에 대한 정보가 누락되는 현상이 발생하였습니다. (1번 유저가 짜장면을 선택함과 거의 동시에 2번 유저가 짬뽕을 선택하면, Redis에 put 메서드로 저장을 하기 때문에 1번 유저가 선택한 짜장면에 대한 정보는 누락) 또한, 참가자 수에 제한을 두어 4명까지만 참가가 가능해야 하는데 더 많은 유저가 참여하는 상황도 생겼습니다. Redis에 OrderRoom 객체를 저장하기 이전에 Mysql에 저장했을 때는 단순하게 비관적 락을 걸어서 한 트랜잭션이 접근중일때는..
PlatinumeOlive
'동시성' 태그의 글 목록