정기간행물/daily

RabbitMQ란?

:)jun 2023. 3. 30. 13:28

1. RabbitMQ란 무엇인가?

RabbitMQ는 AMQP(Advanced Message Queuing Protocol) 메시지 브로커 소프트웨어이다. 메시지 브로커는 분산 시스템에서 서로 다른 애플리케이션 간의 통신을 가능하게 해주는 중간자 역할을 한다. 메시지 큐 기반으로 동작하며, 비동기 메시지 전송, 작업 큐, 로깅, 분산 시스템 등 다양한 용도로 사용할 수 있다.

 

2. RabbitMQ의 구조와 구성 요소

Model in Brief

RabbitMQ 메시지 브로커의 아키텍처는 크게 Producer, Exchange, Queue, Consumer로 구성된다.

  1. Producer는 메시지를 생성하고 Exchange로 전송한다.
  2. Exchange는 Producer가 생성한 메시지를 받아서 적절한 Queue로 라우팅한다.
    • 4가지 유형의 Exchange(Topic, Direct, Fanout, Headers)가 제공된다.
  3. Queue는 메시지를 저장하고 Consumer가 메시지를 읽어갈 수 있도록 한다.
    • Queue의 용량을 조절하고, 메시지가 삭제되는 방법을 설정한다.
  4. Consumer는 Queue에서 메시지를 가져와서 처리한다.
    • RabbitMQ 클라이언트 라이브러리를 사용해 RabbitMQ 서버와 연결하여 메시지를 수신한다.
    • 한 개 이상의 Consumer를 등록하면, RabbitMQ는 메시지를 Round-Robin 방식으로 Consumer에 분배한다.
      • 라운드 로빈 방식은 여러 대상들 중에서 순서대로 하나씩 선택하는 방식을 말한다.

 

'정기간행물 > daily' 카테고리의 다른 글

Spring boot에 JKS파일 정보만 입력했는데 어떻게 암호화, 복호화가 둘 다 될까?  (0) 2023.04.04
curl이란?  (0) 2023.03.31
Docker Architecture  (0) 2023.03.29
DockerNetwork  (0) 2023.03.28
프로메테우스란?  (0) 2023.03.27