- 강의 질문
- 개발/데이터
part5 - Ch4 - 01. Kafka와 Redis를 활용한 비동기 대기열 처리 구현 코드 구현에 대한 질문
2026.01.07 16:56 작성
안녕하세요.
구매 요청에 대한 redis에 큐 대기열 코드에 대해 질문드립니다.
TimeSaleProducer.class 내
"sendPurchaseRequest" 함수에서
RBucket<String> queueBucket = redissonClient.getBucket(queueKey);
queueBucket.set(requestId);
위와 같이 구현을 하셨는데 set의 경우
기본 동작이 기존값을 덮어 씌우는 걸로 알고 있습니다.
그 이후
TimeSaleConsumer.class 내
"removeFromQueue" 함수의 로직을 보면
대기열 큐 키값을 기져와 ',' 로 스플릿을 한 후 해당 배열 값을 순환하여
requestId를 찾아 해당 id 값만 제외 후
그외 id 값들은 StringBuilder를 통해 id,id,id 와 같은 규칙이 있는 String 값으로 다시 저장하는 걸로 보입니다.
만약 위의 큐 대기열 제거 로직이 나오려면
큐에 키값을 추가할때에도 id,id 와 같은 규칙성있는 값을 만들어 주도록 하는 로직이 필요한거 같은데 해당 로직이 보이지가 않습니다.
해당 로직에 대한 추가 설명을 해주셨으면 좋겠습니다.
또한
RQueue가 아닌 RBucket으로 구현 이유도 궁금합니다.