- 
                            
                            [RabbitMQ] 4. Routing, Direct ExchangeRabbitMQ 2019. 1. 6. 16:14이번에는 바인딩을 큐 별로 하나씩 직접 연결하여, 특정 메시지만 선택적으로 받을 수 있는 컨슈머를 만들어본다. 지난 로깅 예제에 추가로, 컨슈머 A는 전체 로그를 콘솔 출력하고, 컨슈머 B는 에러 로그만 파일로 저장해보자. channel.queueBind(queueName, EXCHANGE_NAME, "black"); 지난 시간에 봤었던 Binding은 exchange와 queue의 연결을 지정해줄 수 있는데 마지막 파라미터로 RoutingKey라는게 있었다. 여기의 파라미터는 basicPublish의 routingKey와는 다른것으로 bindingKey로 이해하면 된다고 한다. bindingKey의 의미는 exchage의 type에 따라 다르게 동작한다.(이전 시간에 했었던 fanout exchage에서는 routingKey를 사용하지 않는다.) - Direct Exchange channel.exchangeDeclare(EXCHANGE_NAME, "direct");exchange type중에 fanout(broadcasting) 말고도 direct라는 타입도 있었다. 이 exchage는 메시지의 routingKey가 exchange에 연결된 큐 중 bindingKey가 같은 큐로만 전송한다. - Multiple Bindings 같은 바인딩 키를 여러 큐에도 지정 가능하다. - 최종 구조 'RabbitMQ' 카테고리의 다른 글[RabbitMQ] 5. Topics, Topic(Pattern) Exchange (0) 2019.01.07 [RabbitMQ] 3. Publish/Subscribe, Fanout(Broadcasting) Exchange (0) 2019.01.05 [RabbitMQ] 2. Work Queues, Qos (0) 2019.01.01 [RabbitMQ] 1. Hello World, basicPublish/basicConsume (0) 2018.12.30