2022/05/16 2

[RabbitMQ] 기초 개념 - 5 (Topic)

이전 Routing을 통해 특정 Queue로 메시지를 전송할 수 있었습니다. 이때 type은 direct로 설정을 했는데요. 하지만 이렇게 direct를 사용하면 하나의 기준으로만 Routing을 할 수 있습니다. 이번에는 여러 기준으로 Routing을 할 수 있는 Topic에 대해 정리하겠습니다. Topic은 .(dot)으로 구분된 단어로 설정 할 수 있습니다. 예시) "stock.usd.nyse", "nyse.vmw", "quick.orange.rabbit". Topic Exchange는 Direct Exchange와 유사합니다. 특정 키로 보낸 메시지는 일치하는 바인딩 키로 바인딩된 모든 큐에 전달됩니다. 바인딩 키에는 두 가지 규칙이 있습니다. 1) * 는 정확히 한 단어를 대체. 2) # 는 0..

RabbitMQ 2022.05.16

[RabbitMQ] 기초 개념 - 4 (Routing)

이번 포스트 정리 개념은 Routing 입니다. Routing의 기본 개념은 출발지에서 목적지로 데이터가 전달될 수 있도록 경로를 선택하는 것을 말합니다. RabbitMQ에서의 Routing 역시 비슷한 개념으로 볼 수 있습니다. 아래 그림과 같이 내가 보내고 싶은 Queue의 경로에만 메시지를 전송합니다. 위와 같이 하려면 Exchange type을 direct로 선언해야 합니다. 이전까지 사용했던 fanout 방식이 모든 Queue에 전송했다면, direct 방식은 경로에 따라 특정 Queue에만 메시지를 전송합니다. 로그 관리 시스템이라면 다음과 같이 특정 Queue는 Error 레벨만 수신하고, 나머지 레벨은 또 다른 Queue에서 처리하는 방식으로 나누어 보다 효율적인 데이터 관리가 가능합니다.

RabbitMQ 2022.05.16