MQ(Message Queue) ?
- MOM 시스템
- 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 방법
* 데이터 교환시 시스템이 관리하는 메시지 큐를 이용
MOM(Message Oriented Middleware) ?
- 비동기 메시지를 사용하는 다른 응용프로그램 사이에서 데이터 송수신
* Kafka, RabbitMQ, ActiveMQ 등이 있음
등장배경
- 데이터가 많아지면 요청에 대한 응답을 기다리는 수가 증가하다가 나중에는 대기 시간이 지연되어 서비스가 정상적으로 되지 못하는 상황을 방지
장점
- Asynchronous(비동기) : Queue에 넣기 때문에 나중에 처리 가능
- Decoupling(비동조) : 애플리케이션과 분리할 수 있음
- Resilience(탄력성) : 일부 실패 시 전체에 영향 없음
- Redundancy(과잉) : 실패 할 경우 재실행 가능
- Guarantees(보증) : 작업의 처리 완료를 확인 가능
- Scalable(확장성) : 다수의 프로세스들이 큐에 메시지를 보낼 수 있음
단점
- Message Broker 구축에 필요한 금전, 인적자원에 대한 비용 발생
- 메시지가 잘 전달되었는지 확인이 어려움
사용
- 대용량 데이터를 처리하기 위한 배치 작업, 채팅 서비스, 비동기 데이터를 처리할 때 사용
- 사용할 수 있는 자원에 비해 처리해야할 데이터 양이 지나치게 많은 경우
- 다수의 어플리케이션이 데이터 저장소를 공유할 필요성이 있는 경우
- 이메일 발송 및 문서 업로드 가능
AMOP(Advanced Message Queueing Protocol) ?
- 메시지 지향 미들웨어를 위한 프로토콜
- Producer가 Message를 Queue에 넣어두고, Consumer가 Message를 처리하는 방식
RabbitMQ
https://developing-countries.tistory.com/10
RabbitMQ
RabbitMQ ? - Erlang 으로 AMQP를 구현한 메시지 브로커 시스템 - Channel 이라는 개념을 통해 하나의 TCP 연결을 공유해서 사용할 수 있는 기능 제공 동작 1. 메시지를 발행하는 Producer에서 Broker의 Exch..
developing-countries.tistory.com
ActiceMQ
https://developing-countries.tistory.com/11
ActiveMQ
ActiveMQ ? - JMS(Java Message Service) 클라이언트와 함께 자바로 작성된 오픈 소스 메시지 브로커 - 엔터프라이즈 기능 제공(하나 이상의 클라이언트나 서버로부터 통신을 조성시키는 기능) JMS ? -
developing-countries.tistory.com
kafka
https://developing-countries.tistory.com/12
KafKa
kafka? - 여러 대의 분산 서버에서 대량의 데이터를 처리하는 분산 메시징 시스템 구성요소 - Broker - Message - Producer - Consumer - Topic RabbitMQ vs Kafka vs ActiveMQ ? https://developing-..
developing-countries.tistory.com
'MQ' 카테고리의 다른 글
[MQ] ActiveMQ (0) | 2021.06.10 |
---|---|
[MQ] RabbitMQ (0) | 2021.06.10 |
[MQ] RabbitMQ vs Kafka vs ActiveMQ (0) | 2021.06.10 |
댓글