Rabbit MQ (2) - 동작방식

북마크 추가

 


P: Message를 보내는 Program. Producer


Quere: RabbitMQ안에서 동작.

 

Producer Message는 RabbitMQ를 통해서 Application으로 간다.
여러 Producer를 한 개의 queue로 보낼 수 있다.


C: Consumer. Message를 받기를 기다리는 Program.

 - Producer,Consumer,Broker는 같은 장치에 있을 필요는 없다.



1. Hello World


 

 

 

 


Producer는 Single Message를 전송하고 Consumer는 그 Message를 받아 출력한다.



2. Work Queues


 

 

 

 

Round-Robin 방식으로 동작한다. RabbitMQ는 순서대로 다음 Consumer에게 메시지를 보낸다. 이 방식은 짧은 HTTP 요청 창이 떠있동안 복잡한 작업을 처리 할 수 없는 웹 어플리케이션에 유용하다. C1,C2는 순서대로 서로 다른 메시지를 읽어 작업을 하지만 하는 일은 같다.


3. Publish/Subscribe

 

 

 


RabbitMQ 모델의 핵심은 Producer가 Queue에 직접적으로 Message를 보내지 않는다는 것이다.
 Producer는 Exchange에 Message를 보내고 Exchange는 그 Message를 Queue에 전달한다. Exchange는 direct, topic, headers, fanout 타입 등이 있다.
위 그림은 팬 아웃 방식으로 X(enchangee)가  C1,C2에  같은 메시지를 전달하지만 C1,C2는 서로 다른 일을 한다.


4. Routing

 

 

Direct, Exact Matching방식
Key가 있어 Binding 할 경우 Key를 비교하여 Queue에 삽입 된다.
C1은 error Key일 경우만 동작하며, C2는 info, error, warning Key일 경우 동작하는 것을 알 수 있다. C1,C2에 전달되는 Message와 하는 작업 모두 다르다.



5. Topics

 

 

 

 

Pattern Matching방식
Key값을 비교할 때 User가 설정한 Pattern으로 매칭한다.
Key는 “.” 으로 구분하며 Token으로 나눠지고 “ * ”은 1개의 단어를 의미하고, “ # ”은여러 개의 단어를 의미한다.​

 

AD
관리자
2014-09-29 15:28
SHARE