1. RabbitMQ란 무엇인가?
RabbitMQ는 AMQP(Advanced Message Queuing Protocol) 메시지 브로커 소프트웨어이다. 메시지 브로커는 분산 시스템에서 서로 다른 애플리케이션 간의 통신을 가능하게 해주는 중간자 역할을 한다. 메시지 큐 기반으로 동작하며, 비동기 메시지 전송, 작업 큐, 로깅, 분산 시스템 등 다양한 용도로 사용할 수 있다.
2. RabbitMQ의 구조와 구성 요소
RabbitMQ 메시지 브로커의 아키텍처는 크게 Producer, Exchange, Queue, Consumer로 구성된다.
- Producer는 메시지를 생성하고 Exchange로 전송한다.
- Exchange는 Producer가 생성한 메시지를 받아서 적절한 Queue로 라우팅한다.
- 4가지 유형의 Exchange(Topic, Direct, Fanout, Headers)가 제공된다.
- Queue는 메시지를 저장하고 Consumer가 메시지를 읽어갈 수 있도록 한다.
- Queue의 용량을 조절하고, 메시지가 삭제되는 방법을 설정한다.
- 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 |