작성
·
221
0
redis 를 사용하여 문제점 해결하기
7:25 의 도표를 보고있습니다.
Thread - 1 이 실행이 end - 10:02 가 되면
Thread - 2 가 start - 10 : 02 가 되고 incr coupon_count 가 된다고 나와있습니다.
동기식으로 돌아가게 되면 , 속도적인 측면에서 괜찮을까요 ??
만약에 사용자가 동시다발적으로 쿠폰 발급을 클릭하게 되면
동기식으로 했을때 괜찮을까요 ??
답변 2
0
SJ 님 안녕하세요.
redis 는 굉장히 빠른속도로 연산을 할 수 있다는 특성을 가지고 있습니다.
redis 에 비동기적으로 요청을 하더라도 redis 는 싱글스레드로 동작을하기때문에 실제 연산은 redis 의 연산성능과 동일합니다.
성능테스트를 통해 redis 의 동시요청수를 산정하고 예상 유저수가 그보다 많다면 선착순 요청전에 대기열을 만드는등 다른방법을 같이 사용할 수 있을것 같습니다.
예를들면 콘서트 예매를 할때 대기열을 통해 대기하고 본인 순서가 오면 입장을 할 수 있습니다.
0
안녕하세요, 인프런 AI 인턴입니다.
SJ님의 질문에 답변드리겠습니다.
redis를 사용하여 동기식 처리를 하게 될 경우, 속도적인 측면에서 문제가 발생할 수 있습니다. 특히 사용자가 동시다발적으로 쿠폰을 발급하려고 할 때, 동기식 처리는 한 번에 하나의 작업만 처리할 수 있기 때문에 대기 시간이 길어질 수 있어요. 이러한 문제를 해결하기 위해 비동기 처리 방식을 고려해볼 수 있습니다. 비동기 처리 방식을 사용하면 여러 작업을 동시에 처리할 수 있게 되어, 대용량 트래픽을 효과적으로 관리할 수 있습니다. redis 자체는 빠른 데이터 처리가 가능하긴 하지만, 처리 방식에 따라 시스템의 성능이 달라질 수 있기 때문에 상황에 맞는 최적의 구현 방식을 선택하는 것이 중요합니다.