이번 시간에는 Kafka와 유사한 툴에는 무엇이 있는지 찾아보고 정리하고자 한다.
그렇다면 Kafka와 유사한 기능을 하는 것들에는 어떤 것들이 있고, 이들과 kafka의 차이점은 무엇인지 알아보자.
Kafka의 가장 근본적인 기능은 Event Streaming 기능이다. 이 기능을 지원하는 대표적인 툴들은 다음과 같다.
- RabbitMQ
- ActiveMQ
RabbitMQ는 Pivotal Software사에서 개발한 오픈 소스 메시지 브로커 소프트웨어다. RabbitMQ는 Kafka와 다르게 별도의 코디네이션을 필요로 하지 않는다. 또한 AMQP(Advanced Message Queuing Protocol)를 통해 메세지 전달을 지원한다.
RabbitMQ에는 Exchange와 Queue라는 개념이 있다.
RabbitMQ의 큰 특징 중 하나는 메세지 라우팅 키를 통해 메시지 라우팅을 지원하는 점이다. Exchange에 있는 메세지들을 Queue로 전달할 때 4가지 규칙을 설정할 수 있다.
RabbitMQ와 Kafka의 가장 큰 차이점은 데이터 처리량에 있다. 동일한 리소스의 환경에서 Kafka는 초당 100K의 처리량을 보이는 반면 RabbitMQ초당 4K ~ 10K 정도만 처리할 수 있다. 그 이유는 데이터의 저장 방식의 차이 등 다양하게 있다.
RabbitMQ는 다음의 환경에서 주로 사용된다.
ActiveMQ는 아파치 소프트웨어 재단에서 자바로 만든 오픈 소스 메시지 브로커이다.
"작성중..."
참고자료)
Top 15 Kafka Alternatives Popular In 2021
Kafka vs RabbitMQ
AMQP 0-9-1 Model Explained