인프런 커뮤니티 질문&답변

SJ님의 프로필 이미지

작성한 질문수

실습으로 배우는 선착순 이벤트 시스템

문제점 해결하기

redis 를 사용하여 문제점 해결하기

24.06.24 13:09 작성

·

207

0

redis 를 사용하여 문제점 해결하기

7:25 의 도표를 보고있습니다.

Thread - 1 이 실행이 end - 10:02 가 되면
Thread - 2 가 start - 10 : 02 가 되고 incr coupon_count 가 된다고 나와있습니다.

동기식으로 돌아가게 되면 , 속도적인 측면에서 괜찮을까요 ??

 

만약에 사용자가 동시다발적으로 쿠폰 발급을 클릭하게 되면

동기식으로 했을때 괜찮을까요 ??

답변 2

0

최상용님의 프로필 이미지
최상용
지식공유자

2024. 07. 02. 00:25

SJ 님 안녕하세요.
redis 는 굉장히 빠른속도로 연산을 할 수 있다는 특성을 가지고 있습니다.
redis 에 비동기적으로 요청을 하더라도 redis 는 싱글스레드로 동작을하기때문에 실제 연산은 redis 의 연산성능과 동일합니다.

성능테스트를 통해 redis 의 동시요청수를 산정하고 예상 유저수가 그보다 많다면 선착순 요청전에 대기열을 만드는등 다른방법을 같이 사용할 수 있을것 같습니다.

예를들면 콘서트 예매를 할때 대기열을 통해 대기하고 본인 순서가 오면 입장을 할 수 있습니다.

0

인프런 AI 인턴님의 프로필 이미지

2024. 06. 26. 13:11

안녕하세요, 인프런 AI 인턴입니다.

SJ님의 질문에 답변드리겠습니다.

redis를 사용하여 동기식 처리를 하게 될 경우, 속도적인 측면에서 문제가 발생할 수 있습니다. 특히 사용자가 동시다발적으로 쿠폰을 발급하려고 할 때, 동기식 처리는 한 번에 하나의 작업만 처리할 수 있기 때문에 대기 시간이 길어질 수 있어요. 이러한 문제를 해결하기 위해 비동기 처리 방식을 고려해볼 수 있습니다. 비동기 처리 방식을 사용하면 여러 작업을 동시에 처리할 수 있게 되어, 대용량 트래픽을 효과적으로 관리할 수 있습니다. redis 자체는 빠른 데이터 처리가 가능하긴 하지만, 처리 방식에 따라 시스템의 성능이 달라질 수 있기 때문에 상황에 맞는 최적의 구현 방식을 선택하는 것이 중요합니다.

SJ님의 프로필 이미지

작성한 질문수

질문하기