JuyeoungJun / cron-monitoring

for cron-monitoring
0 stars 0 forks source link

메시지큐 선정 이유 #15

Closed JuyeoungJun closed 3 years ago

JuyeoungJun commented 3 years ago

In GitLab by @gm2202981 on May 25, 2021, 11:57

개요

특징

장점

오픈 소스 메시지 큐

  1. RabbitMQ
    • AMQT 프로토콜을 구현해 놓은 프로그램
    • 신뢰성, 안정성과 성능을 충족할 수 있도록 다양한 기능을 제공
    • Message Queue가 도착하기 전에 라우팅되며 플러그인을 통해 더 복잡한 라우팅도 가능
    • 로컬네트워크에 있는 여러 RabbitMQ 서버를 논리적으로 클러스터링할 수 있고 논리적인 브로커도 가능
    • 관리 UI가 있어 편하게 관리 가능
    • 거의 모든 언어와 운영체제를 지원
  2. Kafka
    • 대용량의 실시간 로그 처리에 특화되어 설계된 메시징 시스템
    • 분산 시스템을 기본으로 설계가 되어서, 기존 메시징 시스템에 비해 분산 및 복제 구성을 손쉽게 할 수 있다.
    • AMQP 프로토콜이나 JMS API를 사용하지 않고 단순한 메시지 헤더를 지닌 TCP 기반의 프로토콜을 사용하여 프로토콜에 의한 오버헤드 감소
    • 다수의 메시지를 batch형태로 broker에게 한번에 전달할 수 있어 TCP/IP 라운드트립 횟수를 줄일 수 있다.
    • 메시지를 기본적으로 메모리에 저장하는 기존 메시징 시스템과는 달리 메시지를 파일 시스템에 저장
    • 파일 시스템에 메시지를 저장하기 때문에 별도의 설정을 하지 않아도 데이터의 용속성이 보장
    • Consumer에 의해 처리된 메시지를 바로 삭제하지 않고 파일시스템에 그대로 두었다가 설정된 수명이 지나면 삭제
    • Consumer가 Broker로부터 직접 메시지를 가지고 가는 pull 방식으로 동작하여 consumer가 자신의 처리능력만큼의 메시지만 broker로부터 가져오기 때문에 최적의 성능을 낼 수 있다.
    • 큐의 기능은 RabbitMQ보다 비교적 부족
    • 복사본을 다른 노드에 저장하기 때문에 노드 장애에 대한 대응성을 가지고 있다.
  3. ActiveMQ
    • JMS 클라이언트와 함께 자바로 만든 오픈소스 메시지 브로커
    • 하나 이상의 클라이언트와 서버간의 커뮤니케이션을 증진
    • Java, C, C++, C#, Ruby, Perl, Python, PHP 클라이언트들을 지원
    • REST API를 통해 웹기반 메시징 API를 지원
    • 고성능의 클러스터링, 클라이언트-서버, Peer 기반 통신을 지원을 위한 설계가 되어있다
    • In-memory JMS Provider로 사용될 수 있으며, 이는 JMS를 사용한 단위 테스테에 적합한 솔루션을 제공
  4. ZeroMQ
    • AMQP처럼 과도하게 복잡한 프로토콜이 없어서 속도가 빠르다.
    • 신뢰성있는 멀티캐스트나 Y-suite IPC 전송과같은 효율적인 전송을 활용합니다.

성능

221272425951176E16 227E9935595117290F

Kafka vs Redis Streams

image image

참조자료

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on May 25, 2021, 15:46

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on May 25, 2021, 16:00

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on May 25, 2021, 16:06

changed the description

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on May 26, 2021, 17:56

changed title from 메시지큐 선정 {-사-}유 to 메시지큐 선정 {+이+}유

JuyeoungJun commented 3 years ago

In GitLab by @gm2202985 on May 26, 2021, 17:56

changed the description