Message Queue(3)
-
Rabbit MQ
1. Rabbit MQ란 Rabbit MQ란 AMQP를 구현한 메시지 브로커입니다. AMQP라는 표준 MQ 프로토콜로 만들어져 있고 Cluster 구성이 쉽고 Manage UI가 제공되며 무엇보다 성능이 뛰어나다고 알려져 있습니다. 또한 다양한 plugin도 제공되어 확장성이 뛰어나며 Spring에서도 AMQP 연동 라이브러리가 제공되어 편리하게 연동하여 사용이 가능합니다. 특징 ISO 표준 AMQP 구현 비동기 처리를 위한 메시지 큐 브로커 Erlang과 java언어로 만들어짐 분산 처리를 고려한 메시지 큐 고가용성 보장 Pub/Sub 모델 형식 다양한 plugin 지원 주요 옹어 Producer: 메시지를 보내는 Application Publish: Producer가 메시지를 보냄 Queue: 메시지..
2020.05.13 -
Kafka
1. Apache Kafka란 Apache Kafka란 대용량의 실시간 로그 처리에 특화되어 설계된 메시징 시스템입니다. Kafka는 Pub/Sub 모델을 기반으로 동작하며 크게 producer, consumer, broker로 구성됩니다. 그림으로 표현하면 아래와 같이 나타납니다. Producer: 데이터를 발생시키고 Kafka Cluster에 적재하는 프로세스 Kafka Cluster: 카프카 서버로 이루어진 클러스터 Broker: 카프카 서버 Zookeeper: 분산 코디네이션 시스템으로, Kafka Broker를 하나의 Cluser로 코디네이팅하는 역할을 하며, Cluster의 Leader를 발탁하는 방식을 제공 Topic: Kafka Cluster에 데이터를 관리할 때 그 기준이 되는 개념. T..
2020.05.08 -
Message Queue
1. Message Queue Message Queue란 비동기 메시지를 사용하는 다른 응용프로그램 사이의 데이터 송수신을 구현한 시스템을 의미합니다. 사용자가 많아져서 웹 요청이 증가하면 요청에 대한 응답을 기다리다가 대기 시간이 지연되어 서비스를 정상적으로 제공하지 못하게 됩니다. 이런 상황을 해결하기 위해 기존에 분산되어 있던 데이터 처리를 한 곳에 집중하면서 Message Broker를 두어서 필요한 프로그램에 작업을 분산시키는 것이 Message Queue의 목적입니다. 이러한 Message Queue는 별도의 공정 작업을 연기할 수 있는 유연성을 제공하여 Service Oriented Architecture의 개발에 도움을 줄 수 있습니다. 2. Message Queue의 장점 비동기: Que..
2020.05.08