본문 바로가기
728x90

MQ4

[MQ] ActiveMQ ActiveMQ ? - JMS(Java Message Service) 클라이언트와 함께 자바로 작성된 오픈 소스 메시지 브로커 - 엔터프라이즈 기능 제공(하나 이상의 클라이언트나 서버로부터 통신을 조성시키는 기능) JMS ? - 자바 기반의 MOM API 표준 - 둘 이상의 클라이언트 간의 메시지를 보낸다. - 비동기, 신뢰성을 가지며 분산 어플리케이션 컴포넌트 간의 통신을 허용 JMS 메시지 구조 - 헤더 : JMS 메시지 필수 값, 메시지 경로 지정 및 식별에 사용되는 값 - 등록정보 : 등록 정보 이름, 등록 정보 값의 쌍으로 지정 / 데이터를 작성한 프로세스에 대한 정보, 데이터가 작성된 시간, 데이터 각 부분의 구조 포함 - 본문유형 Stream Message : Java Primitive 값의.. 2021. 6. 10.
[MQ] RabbitMQ RabbitMQ ? - Erlang 으로 AMQP를 구현한 메시지 브로커 시스템 - Channel 이라는 개념을 통해 하나의 TCP 연결을 공유해서 사용할 수 있는 기능 제공 동작 1. 메시지를 발행하는 Producer에서 Broker의 Exchange로 메시지를 전달 2. Binding 규칙에 의해 연결된 Queue로 메시지 복사 3. Consumer에서 브로커의 Queue를 통해 메시지를 받아가서 처리 속성 - Name : Exchange 이름 - Type : 메시지 전달 방식 * Direct Exchange, Fanout Exchange, Topic Exchange, Headers Exchange - Durability : 브로커가 재시작 될 때 남아 있는지 여부 * durable, transien.. 2021. 6. 10.
[MQ] RabbitMQ vs Kafka vs ActiveMQ RabbitMQ vs Kafka vs ActiveMQ ? - 비동기 통신을 제공하고, 보낸 사람과 받는 사람을 분리(공통) RabbitMQ 빠르고 쉽게 구성 할 수 있으며 직관적 AMQT 프로토콜을 구현해놓은 프로그램 신뢰성, 유연한 라우팅, 관리 UI의 편리성 Kafka 확장성, 고성능 및 높은 처리량 대용량 실시간 로그 처리에 특화, 단순한 메시지 헤더를 지닌 TCP 기반의 프로토콜 사용으로 오버헤드 감소 분산 시스템으로 인해 분산 및 복제 구성 장점, 노드 장애에 대한 대응성을 가지고 있음 ActiveMQ 높은 신뢰성, 효율적이고 사용하기 쉬운 오픈 소스 자바로 만든 오픈소스 메시지 브로커 다양한 언어와 프로토콜을 지원(Java, C, C++, C#, Ruby, Perl, Python, 그리고 PH.. 2021. 6. 10.
[MQ] Message Queue? MQ(Message Queue) ? - MOM 시스템 - 프로세스 또는 프로그램 인스턴스가 데이터를 서로 교환할 때 사용하는 방법 * 데이터 교환시 시스템이 관리하는 메시지 큐를 이용 MOM(Message Oriented Middleware) ? - 비동기 메시지를 사용하는 다른 응용프로그램 사이에서 데이터 송수신 * Kafka, RabbitMQ, ActiveMQ 등이 있음 등장배경 - 데이터가 많아지면 요청에 대한 응답을 기다리는 수가 증가하다가 나중에는 대기 시간이 지연되어 서비스가 정상적으로 되지 못하는 상황을 방지 장점 - Asynchronous(비동기) : Queue에 넣기 때문에 나중에 처리 가능 - Decoupling(비동조) : 애플리케이션과 분리할 수 있음 - Resilience(탄력성).. 2021. 6. 10.
728x90