목표
회사에서 큐를 구현한다.
Redis를 사용한다.
회사 시스템측 이슈로인해 Redis Queue에 Push시 1분 대기시간이 필요하다.
이를 위한 시스템을 구상하는 과정에서 '간단지연 큐'를 발견하게되었다.
간단지연 큐는 무엇이고, 이것이 1분 대기시간이라는 요구사항이 충족할 수 있는 기능이라면
Redis에서도 구현이 가능한지를 알아본다.
간단지연큐란?
메세지를
'보낸시간'이 아닌 '일정시간'이후에 받고싶은 경우에 사용한다.
RabbitMQ의 간단지연 큐
필요개념
exchange
-Producer에서 전달받은 메세지를 어느 Queuue에 전송할 지
결정하는 객체, 라우터개념
플러그인 사용
1.rabbitmq-delayed_message_exchange라는 플러그인을 통해
2.x-delayed-type 설정을 준 후
3,exchange를 생성
dead-letter exchange config 사용
-별도의 큐를 생성하여 구현하는 방법
아래 설정을 가진 큐 생성
- x-dead-letter-exchange : delay이후 메세지가전송될 exchange이름
- x-dead-letter-routing-key : exchange에서 사용될 라우팅 키
- x-message-ttl : delay시간
1.위로 생성된 지연큐에 메세지가 put되면
2.지연 후
3.x-dead-letter-exchange로 보낸다.
RabbitMQ에서는
플러그인으로 구현하거나,
별도의 큐를 생성하여 구현한다.
그렇다면 Redis에서도
1.지연큐를 지원하는 기능이 있는지
2.플러그인이 있는지
3.별도의 큐를 생성하여 구현할 수 있는지
를 알아보자
https://japing.tistory.com/entry/Redis로-간단지연-큐-구현이-될까-2-Redis의-지연-큐-구현
'재학습 > DB' 카테고리의 다른 글
Redis로 간단지연 큐 구현이 될까? (2) - Redis의 지연 큐 구현 (0) | 2022.09.27 |
---|---|
[Postgresql] Vacuum 이란? (0) | 2021.10.20 |