어플리케이션들의 메시지를 중간에서 관리해주는 시스템.
여러 클라이언트 시스템 사이의 메시지 통신을 중간에서 관리하여
각 클라이언트 시스템간 종속성 및 결속성을 낮춘다.
메시지 송신자는 수신자의 주소를 몰라도 보낼 수 있다.
queue 공간이자, task들을 처리 및 관리하는 역할
송신자의 메시지를 큐에 적재하고 이를 수진자가 받아 사용하는 구조
비동기 큐 작업을 할 프로세스
비동기 작업을 처리할 수 있도록 도와주는 python 프레임워크
송신자가 다량의 데이터를 수신자에게 보낼 경우, 단순히 수신자의 서버 크기를 늘리면 된다.
하지만 그렇게 단순하게 해결되면 얼마나 좋을까
이 경우, 메세지를 동기 방식으로 보냈을 때는 더 큰 문제가 생긴다.
송신자는 수신자로부터 응답을 받을 때까지 대기하게 되고
수신자 서버에 정해 둔 timeout 시간까지 기다리게 된다.
이 때, 송신자에게 요청이 들어오게 되면 그 요청들이 쌓이게 되고
송신 측 서버마저 문제가 생길 수 있다.
메시지 브로커는 수신자가 원하는 시점에 메시지를 가져갈 수 있도록 지원한다.
여기서 원하는 시점이란 보통 수신자가 메시지를 처리할 수 있는 시점을 의미한다.