메시지 브로커

GisangLee·2022년 9월 22일
0

django

목록 보기
22/35

1. MOM ( Message Oriented Middleware )

개념

어플리케이션들의 메시지를 중간에서 관리해주는 시스템.

여러 클라이언트 시스템 사이의 메시지 통신을 중간에서 관리하여
각 클라이언트 시스템간 종속성 및 결속성을 낮춘다.

메시지 송신자는 수신자의 주소를 몰라도 보낼 수 있다.


2. Message Broker

개념

queue 공간이자, task들을 처리 및 관리하는 역할

송신자의 메시지를 큐에 적재하고 이를 수진자가 받아 사용하는 구조

Task

비동기 큐 작업을 할 프로세스


3. Celery

개념

비동기 작업을 처리할 수 있도록 도와주는 python 프레임워크


4. Message Broker를 왜 사용하는가

송신자가 다량의 데이터를 수신자에게 보낼 경우, 단순히 수신자의 서버 크기를 늘리면 된다.
하지만 그렇게 단순하게 해결되면 얼마나 좋을까

가설 : 수신자의 서버에 문제가 생김

이 경우, 메세지를 동기 방식으로 보냈을 때는 더 큰 문제가 생긴다.

송신자는 수신자로부터 응답을 받을 때까지 대기하게 되고
수신자 서버에 정해 둔 timeout 시간까지 기다리게 된다.

이 때, 송신자에게 요청이 들어오게 되면 그 요청들이 쌓이게 되고
송신 측 서버마저 문제가 생길 수 있다.

메세지 처리 시점

메시지 브로커는 수신자가 원하는 시점에 메시지를 가져갈 수 있도록 지원한다.
여기서 원하는 시점이란 보통 수신자가 메시지를 처리할 수 있는 시점을 의미한다.


profile
포폴 및 이력서 : https://gisanglee.github.io/web-porfolio/

0개의 댓글