rabbitmq 6

RabbitMQ - 메시지 속성

메시지의 주요 속성 컨텐츠 헤더 프레임에 사용할 수 있는 메시지 속성은 다음과 같습니다. 구분 설명 content-type 소비자에게 메시지 본문을 해석하는 방법을 전달합니다. content-encoding 메시지 본문의 압축 방법이나 인코딩 방법 전달합니다. message-id correlation-id 메시지와 메시지 응답을 고유하게 식별해 메시지를 추적하는 데 이용합니다. timestamp 메시지 크기를 줄이고 메시지 생성 시점에 대한 표준 시간을 전달합니다. expiration 메시지의 만료를 전달합니다. delivery-mode 큐에 메시지를 추가할 때 메모리에 저장할지 / 디스크에 먼저 저장할지 설정합니다. app-id user-id 문제가 발생한 발행자 어플리케이션을 추적하는데 사용합니다. ..

RabbitMQ - 메시지 큐의 주요 속성

메시지 전달 구조 Producer로부터 메시지가 발행되면 Exchange에 전송되며, 여기에서 어떤 Queue에 라우팅 할 것인지 결정하게 됩니다. 그리고 라우팅 된 메시지는 Consumer가 가져가기 전까지 Queue에 잠시 대기하는 구조입니다. Producer가 메시지 발행 발행된 메시지를 Exchange에 전송 Exchange에서 적절한 Queue로 메시지 라우팅 Consumer가 메시지를 소비할 때까지 Queue에 대기 Consumer가 메시지를 소비하면 Queue에서 해당 메시지 삭제 이 때 Queue에서의 메시지는 선입선출이 기본입니다. 만약 클라이언트의 부재 등으로 인해 소비되지 않고 있는 메시지가 있는 경우, 뒤에 남아있는 메시지도 모두 소비되지 않기 때문에 TIMEOUT을 설정하여 별도의..

Web STOMP 플러그인 설치

Web STOMP 플러그인 Web STOMP는 웹소켓 연결을 기반으로 클라이언트와 통신하며, 이를 이용하면 프론트엔드 페이지에서 백엔드를 거치지 않고 RabbitMQ의 메시지를 바로 수신할 수 있습니다. # 플러그인 설치 sudo rabbitmq-plugins enable rabbitmq_web_stomp # RabbitMQ 서버 재 시작 sudo systemctl restart rabbitmq-server # 통신에 사용되는 방화벽 해제 sudo firewall-cmd --zone=public --permanent --add-port=15674/tcp sudo firewall-cmd --reload # RabbitMQ를 설치하면 기본적으로 Web STOMP 예제 파일이 내장되어 있습니다. # 이를 확인..

RabbitMQ 설치

Erlang 설치 RabbitMQ는 Erlang 언어로 개발되었으며, 구동을 위해서는 해당 언어를 설치해야 합니다. # erlang과 종속적인 패키지 설치 sudo yum install socat sudo yum install logrotate # erlang을 repository에 추가 wget https://packages.erlang-solutions.com/erlang-solutions-2.0-1.noarch.rpm sudo rpm -Uvh erlang-solutions-2.0-1.noarch.rpm # erlang 설치 sudo yum install erlang # erlang 설치 확인 erl Erlang과 RabbitMQ의 호환되는 버전은 [링크] 페이지를 통해 확인할 수 있습니다. Rabb..

메시지 브로커 비교 (Apache Kafks vs RabbitMQ vs ActiveMQ)

메시지 브로커의 도입 배경 프로그램의 동작 방식을 실시간으로 제어하기 위해, 서버로부터 임의의 시점에 데이터를 수신해야 하는 경우가 발생하였습니다. 클라이언트가 자신에게 설정된 신규 정책이 있는지 서버에 주기적으로 확인하는 Polling 방식(또는 주기적인 체크가 부담스러울 경우 Long Polling 방식) / 웹 소켓 등 현재 알고 있는 통신 방식이 후보에 올랐으며, 이 외에 다른 통신 기법이 있는지 추가적인 확인을 하게 되었습니다. 자료를 찾던 도중 [메시지 브로커] 라는 개념을 접하게 되었으며, 프로젝트에 적용하기에 적합한 기술인지 확인하게 되었습니다. 메시지 브로커 비교 (Apache Kafka vs RabbitMQ vs ActiveMQ) Apache Kafka [메시지 브로커 도입기] - Ap..

RabbitMQ 조사

RabbitMQ 메시지가 생성되면 Exchange에 전송되며, 여기에서 어떤 Queue에게 라우팅 할 것인지 결정하게 됩니다. 구분 설명 Direct Exchange 메시지의 Routing Key와 정확히 일치하는 Queue로 라우팅 Topic Exchange 특정 라우팅 패턴과 일치하는 Queue로 라우팅 Fanout Exchange 바인딩 된 모든 Queue에 메시지를 라우팅 ① : 메시지 생산자로부터 메시지를 수신합니다. ② : 메시지를 Exchange에 전송합니다. ③ : 메시지를 적절한 Queue로 라우팅 합니다. ④ : 메시지가 소비되기 전까지 Queue에 대기합니다. ⑤ : 메시지가 소비되면 Queue에서 해당 메시지를 삭제합니다 구분 설명 최초 배포일 2007. 02. 08 라이선스 Moz..