강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Hình ảnh hồ sơ của shrse
shrse

câu hỏi đã được viết

Giải quyết kiến trúc không đồng bộ bằng RabbitMQ một cách nhanh chóng

16. Tái xử lý sử dụng DeadLetterQueue

dlx dlq 설정 관련

Viết

·

45

0

안녕하세요.

설정 시 String 으로 작성 된게 눈에 걸려서 확인해봤는데, Spring AMQP 2.X 에서는 다른 방법이 있어서 내용 공유 드립니다...

다른 수강생분들도 참고용으로 q&a로 남겼습니다..

감사합니다...

@Bean
public Queue orderQueue() {
    return QueueBuilder.durable(ORDER_COMPLETED_QUEUE)
            .deadLetterExchange(DLX)       // Available since Spring AMQP 2.x
            .deadLetterRoutingKey(DLQ)     // Available since Spring AMQP 2.x
//          .withArgument("x-dead-letter-exchange", DLX)    // Spring AMQP 1.x compatible
//          .withArgument("x-dead-letter-routing-key", DLQ) // Spring AMQP 1.x compatible
            .ttl(5000)
            .build();
}
spring-bootjpawebsocketrabbitmq

Câu trả lời 1

0

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

Dead Letter Exchange(DLX)와 Dead Letter Queue(DLQ)의 설정에 대해 공유해 주셔서 감사합니다. Spring AMQP 2.x 버전부터는 더 간편한 방법으로 DLX 및 DLQ를 설정할 수 있다는 점이 많은 사용자에게 유용하게 다가올 것입니다.

Dead Letter Exchange(DLX)와 Dead Letter Queue(DLQ) 설정

Spring AMQP 2.x에서는 다음과 같은 방법으로 DLX 및 DLQ를 설정할 수 있습니다:

  1. DLX 및 DLQ 설정:
    • QueueBuilder 클래스를 활용하여 deadLetterExchangedeadLetterRoutingKey 메서드를 사용하면 됩니다. 이는 더 간결하고 명확하게 설정을 할 수 있게 해줍니다.
   @Bean
   public Queue orderQueue() {
       return QueueBuilder.durable(ORDER_COMPLETED_QUEUE)
               .deadLetterExchange(DLX)       // 설정하는 부분
               .deadLetterRoutingKey(DLQ)     // 설정하는 부분
               .ttl(5000)                     // 메시지 유효 시간 설정
               .build();
   }
  1. Spring AMQP 1.x에서의 설정:
    • 이전 버전에서는 withArgument 메서드를 통해 직접 큐 아규먼트를 작성하여 설정해야 했습니다.
   .withArgument("x-dead-letter-exchange", DLX)
   .withArgument("x-dead-letter-routing-key", DLQ)

DLX와 DLQ를 사용하는 이유는 메시지의 처리 실패 시 이를 다른 경로로 처리해 안정성을 높이고, 메시지의 유실을 방지하기 위함입니다. 이러한 설정을 통해 시스템의 복잡도를 줄이고, 메시징의 유연성을 증대시킬 수 있습니다.

다른 수강생에게도 도움이 될 만한 링크를 제공해드릴 수 있습니다:
- Spring AMQP DLX와 DLQ 설정에 관한 질문과 답변

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Hình ảnh hồ sơ của shrse
shrse

câu hỏi đã được viết

Đặt câu hỏi