Rabbit MQ에 관하여 + 설치방법
amqp producer - exchange - queue - consumer producer가 exchange에 보내는 것 : 퍼블리싱 exchange가 메시지를 queue 로 전달, consumer는 queue에서 빼서 메시지 사용 복잡한 어플에선 q와 컨슈머가 여럿임. 익스체인지는 선택 된 큐로 메시지들을 날림 익스체인지와 큐는 바인딩키를 통해서 바인드됨 프로듀서는 메시지를 보내기 위해서는 메시지와 같이 라우팅 키를 보냄 익스체인지는 바인딩키와 라우팅키를 보고 어떤 큐에 메시지를 던질지 결정 팬아웃이란 모든 큐에 메시지를 던지는 것 다이렉트는 바인딩키와 라우팅키가 동일한 큐에게 메시지를 던지는 것 토픽은 메시지와 바인딩키를 partially 비교하고 부분적으로 일치하는 큐에게 메시지 던 헤더는 라우팅 키 대신에 메시지 헤더를 사용하는 것 래빗엠큐엔 신기한 exchange가 있음. (디폴트(네임리스) 익스체인지) 이 익스체인지는 라우팅 키와 큐 이름을 비교함 (바인딩 키가 아니라) 라우팅키와 큐 이름이 같으면 메시지를 전달함 정리하면, 프로듀서는 익스체인지로 보낼 메시지를 방출하고 컨슈머는 큐로부터 메시지를 받고 바인딩은 익스체인지와 큐를 바인딩 키를 이용해 바인딩하는 것을 의미함 익스체인지는 라우팅키와 바인딩키를 이용해 비교 메시지 분배는 방식에 따라 다르게 동작 (팬아웃, 다이렉트, 토픽, 헤더, 특별한 놈은 네임리스)