retry
-
안녕하세요 이번 추석에 레빗 엠큐를 딥하게는 아니고 아주 살짝 맛만 봤습니다 'RabbitMQ' 카테고리의 글 목록 dockerel.tistory.com 근데 레빗 엠큐 이거 좀 맛도리더라구요 제일 맘에 드는건 데드레터 처리하고 자동 재시도 그래서 제가 한 프로젝트 중에 이걸 어디에 한번 적용해보아야 할까 생각하다가 Redis Pub/Sub 기반으로 구현했던 실시간 알림 기능에 한번 도입을 해봤습니다 근데 이걸 왜 함? 사실 그 당시에는 레디스를 인증 파트에서 refresh token 관리를 위해 사용하고 있었기에 다른 메시지 큐와 같은 새로운 기술 스택을 도입하지 않아도 레디스 선에서 커버칠 수 있다는 생각에 도입했습니다 근데 문제는 그렇게 발생했습니다 웹 서버를 배포할 때 다중 인스턴스로 배포해버린..
RabbitMQ를 적용하며 발생한 풍부한 버그와 다양한 삽질의 향연안녕하세요 이번 추석에 레빗 엠큐를 딥하게는 아니고 아주 살짝 맛만 봤습니다 'RabbitMQ' 카테고리의 글 목록 dockerel.tistory.com 근데 레빗 엠큐 이거 좀 맛도리더라구요 제일 맘에 드는건 데드레터 처리하고 자동 재시도 그래서 제가 한 프로젝트 중에 이걸 어디에 한번 적용해보아야 할까 생각하다가 Redis Pub/Sub 기반으로 구현했던 실시간 알림 기능에 한번 도입을 해봤습니다 근데 이걸 왜 함? 사실 그 당시에는 레디스를 인증 파트에서 refresh token 관리를 위해 사용하고 있었기에 다른 메시지 큐와 같은 새로운 기술 스택을 도입하지 않아도 레디스 선에서 커버칠 수 있다는 생각에 도입했습니다 근데 문제는 그렇게 발생했습니다 웹 서버를 배포할 때 다중 인스턴스로 배포해버린..
2025.10.17 -
메시지들이 발행되고 ready에서 제대로 처리되지 못한 경우 unacked 상태가 되는데 만약 클라이언트에서 메시지 처리를 성공한 경우 ack 그 외에는 nack 혹은 reject 상태가 됩니다. 이렇게 메시지가 nack, reject 상태가 되거나 ttl 만료, 길이 초과 그리고 큐 설정 초과 등 특정 Dead Letter 조건이 충족한 경우 DLQ(Dead Letter Queue)로 이동됩니다.@Beanpublic Queue orderQueue() { return QueueBuilder.durable(MAIN_QUEUE) .withArgument("x-dead-letter-exchange", DLX) .withArgument("x-dead-letter-routing-ke..
DeadLetterQueue와 Retry로 재처리하기 참 쉽죠?메시지들이 발행되고 ready에서 제대로 처리되지 못한 경우 unacked 상태가 되는데 만약 클라이언트에서 메시지 처리를 성공한 경우 ack 그 외에는 nack 혹은 reject 상태가 됩니다. 이렇게 메시지가 nack, reject 상태가 되거나 ttl 만료, 길이 초과 그리고 큐 설정 초과 등 특정 Dead Letter 조건이 충족한 경우 DLQ(Dead Letter Queue)로 이동됩니다.@Beanpublic Queue orderQueue() { return QueueBuilder.durable(MAIN_QUEUE) .withArgument("x-dead-letter-exchange", DLX) .withArgument("x-dead-letter-routing-ke..
2025.10.08