작성한 질문수
재고시스템으로 알아보는 동시성이슈 해결방법
라이브러리 장단점
작성
·
603
0
redis channel을 구독하고 있는 스레드가 있어서 락을 획득하지 못한 스레드들이 요청이 실패하게될텐데
1 -> 2 -> 3 -> 4번 순서대로 요청이 들어왔을 때
1번이 2,3 번 요청이 들어왔을 때까지 락을 들고 있는 경우에는 다음 락은 4번에게 넘어가는데 선착순처럼 순서를 보장해야하는 경우는 어떻게 해야할까요
>>혹은 이런 상황에서는 redis 사용으로 해결하려는게 잘 못된 접근 방식인가요?
답변 1
디미터님 안녕하세요.
일단 redis, mysql 을 사용한다고 해서 100% 완벽한 선착순은 보장할 수 없습니다.
시간순서대로 들어온 선착순을 무조건 보장해야한다고 하면 sorted set 을 이용하여 들어온 순서대로 set 에 넣고 순차적으로 처리하는 방법을 사용할 수 있을것 같습니다.
더 궁금하신게 있으시다면 답글이나 질문 부탁드립니다.
감사합니다.