구릉님의 프로필 사진

구릉

1 3

RabbitMQ - Kafka - ActiveMQ 비교

아래 게시글 내용에 대한 요약 입니다

https://medium.com/huawei-developers/rabbitmq-kafka-activemq-which-message-broker-to-choose-6c6b127e46ef

--------------------------------------------------------------------------------------


Kafka:

  • Kafka는 분산 스트리밍 플랫폼으로, 고처리량과 실시간 데이터 스트림을 처리하는 데 적합합니다.

  • 주요 특징: 로그 기반 저장, 수평 확장성, 스트림 처리 지원.

  • Kafka는 대규모 데이터 볼륨을 처리하고 실시간 데이터 변환 및 분석을 가능하게 합니다.

RabbitMQ:

  • RabbitMQ는 AMQP(Advanced Message Queuing Protocol)를 기반으로 하는 메시지 브로커입니다.

  • 주요 특징: 다양한 프로그래밍 언어 지원, 유연한 라우팅 기능, 클러스터링 및 고가용성 지원.

  • RabbitMQ는 다양한 메시징 패턴을 지원하고 메시지 신뢰성 및 전달을 보장합니다.

ActiveMQ:

  • ActiveMQ는 엔터프라이즈 사용 사례에 최적화된 메시지 브로커입니다.

  • 주요 특징: 다양한 프로토콜 지원, 유연한 메시지 지속성 옵션, 고급 기능 제공.

  • ActiveMQ는 메시지 우선 순위, 일정 관리, 재전송 정책 등을 통해 메시지 처리 및 전달을 세밀하게 제어할 수 있습니다.


비교:

  • 성능 및 확장성: Kafka는 높은 처리량과 수평 확장성으로 유명하며, 대량의 데이터를 처리하는 데 뛰어난 성능을 보입니다. RabbitMQ와 ActiveMQ도 좋은 성능을 제공하지만, 대용량 시나리오에서는 Kafka가 일반적으로 더 우수합니다.

  • 메시지 순서: RabbitMQ와 ActiveMQ는 각각 단일 큐 또는 토픽 내에서 메시지 순서를 보장합니다. Kafka는 파티션 내에서 메시지 순서를 보장하지만, 토픽 내의 여러 파티션 간에는 그렇지 않습니다.

  • 메시지 우선순위: RabbitMQ와 ActiveMQ는 메시지 우선순위를 지원하여, 우선순위가 높은 메시지가 먼저 처리될 수 있도록 합니다. Kafka는 내장된 메시지 우선순위 지원이 없습니다.

  • 메시지 모델: RabbitMQ는 AMQP(Advanced Message Queuing Protocol)의 큐 기반 메시지 모델을 따르고, Kafka는 분산 로그 기반 모델을 사용하며, ActiveMQ는 Java 5 Message Service(JMS) 표준을 기반으로 한 큐 기반 모델을 사용합니다.

  • 지속성: 세 브로커 모두 지속 가능한 메시징을 지원하며, RabbitMQ와 ActiveMQ는 구성 가능한 옵션을 제공하는 반면, Kafka는 로그 복제를 통해 지속성을 달성합니다.

  • 메시지 라우팅: RabbitMQ는 교환 및 바인딩을 통한 고급 메시지 라우팅을 제공하고, ActiveMQ는 선택자와 토픽을 사용하며, Kafka는 기본적인 토픽 기반 파티셔닝에 의존합니다.

  • 복제: RabbitMQ는 Mirrored Queues를 통한 복제를 지원하고, Kafka는 내장된 파티션 복제 기능을 가지며, ActiveMQ는 Master-Slave 복제를 사용합니다.

  • 스트림 처리: Kafka는 Kafka Streams를 통한 네이티브 스트림 처리 기능을 제공하며, RabbitMQ도 스트림 처리를 지원하고, ActiveMQ는 제3자 라이브러리에 의존합니다.

  • 지연 시간: RabbitMQ는 낮은 지연 시간을 위해 설계되어, 거의 실시간 처리에 적합합니다.

  • 라이선스: RabbitMQ는 Mozilla Public License 하에 라이선스되며, Kafka와 ActiveMQ는 모두 Apache 2.0 License 하에 라이선스됩니다.


RabbitMQ - Kafka - ActiveMQ: Which Message Broker to Choose?

Medium

RabbitMQ - Kafka - ActiveMQ: Which Message Broker to Choose?

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 11월 20일 오전 1:16

댓글 0

    함께 읽은 게시물

    요즘 사람들이 가장 많이 AI를 활용하는 분야 Top 10

    1

    ... 더 보기

    How People Are Really Using Gen AI in 2025

    Harvard Business Review

    How People Are Really Using Gen AI in 2025

     • 

    저장 5 • 조회 786


    📢 실무 프로젝트로 성장하고 싶은 주니어 개발자 분들에게

    ... 더 보기

    패스트캠퍼스 : INNER CIRCLE | 패스트캠퍼스

    bit.ly

    패스트캠퍼스 : INNER CIRCLE | 패스트캠퍼스

     • 

    저장 72 • 조회 5,783


    이력서에서 소프트스킬을 어떻게 보여줄 수 있을까요?

    ... 더 보기

    LinkedIn Seulki Kang 페이지: 소프트스킬이 드러나는 이력서, 데이터분석가 도메인 분야

    www.linkedin.com

    LinkedIn Seulki Kang 페이지: 소프트스킬이 드러나는 이력서, 데이터분석가 도메인 분야

     • 

    저장 47 • 조회 5,895


    고용노동부가 주관하는 청년미래플러스 사업, 이전에 공유했었는데요.

    ... 더 보기

    청년미래플러스 참여 재직자 1기 모집

    한국소프트웨어산업협회

    청년미래플러스 참여 재직자 1기 모집

    🎯 유튜브에 100번째 코딩 테스트 문제 풀이 영상을 올렸습니다!

    ... 더 보기

    달레의 코딩 테스트

    www.youtube.com

    달레의 코딩 테스트

    💸 기술 부채 개념, 유형, 해결 방법

    ... 더 보기

    기술 부채 어떻게 상환할까?

    InfoGrab Insight

    기술 부채 어떻게 상환할까?

     • 

    저장 19 • 조회 2,532