본문 바로가기

JAVA

Apache Pulsar 정리 (kafka와 비교)

Apache Pulsar가 kafka 보다 나은 이유를 아래의 참고자료에서 간단히 요약했다. 

 

Latency and Throughput

kafka 대비 약 2.5배 빨라 졌으며, 카프카보다 레이턴시(딜레이)가 40% 가 낮다. 

Scalability Issues

kafka는 토픽을 전용 파일과 디렉토리에 저장하면서 확장에 문제를 겪는다. 이유는 이 파일들이 주기적으로 페이지 캐시에서 디스크로 플러시 되는데 이렇게 되면 I/O가 여러 디스크에 걸쳐 발생될 것이기 때문이다. 반면에 Pulsar는 bookies (BookKeeper 서버들을 말함)에 저장한다. 여기에는 서로 다른 토픽들로 부터 받은 메시지들을 대용량 파일들에 모이고, 정렬되고 저장되고 나서 인덱싱 된다. Pulsar는 수백만개의 토픽들로 확장할 수 있다. 

Global Architectures

Kafka브로커들은 단일 리전이나 가용한 존 내에서도 단일 네트워크에서 함께 동작하도록 설계되어서 멀티 데이터센터 아키텍쳐를 이용한 작업이 쉽지 않다. 반대로 Pulsar에서는 geo-replication(물리적으로 떨어진 위치에 있는 서버들에 같은 데이터를 저장하는 방식) 기능이 기본적으로 포함되어 있다. 

OpEx

kafka는 새로운 서버를 클러스터에 추가해야 할 때 환경설과 어려우며 현재 토픽들을 조정 해야 하는데 이런류의 작업에 소비되는 비용이 매우 크다. Pulsar의 레이어드 아키텍쳐와 무상태 브로커들은 이러한 케이스에서도 다운타임 없이 운영할 수 있도록 해준다. 새로운 브로커가 추가되면 즉시 읽기, 쓰기가 가능하면 클러스터들 간 데이터를 리벨런싱(re-balancing)을 할 필요가 없다. 

 

참고자료:

1. Life Beyond Kafka With Apache Pulsar - https://dzone.com/articles/life-beyond-kafka-with-apache-pulsar

 

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

Java 제네릭 기본  (0) 2020.04.26
자바 함수형 프로그래밍 기술 7가지  (0) 2020.04.03
XSD 를 Java 소스로 변환하기 - 메이븐 프로젝트 활용  (0) 2019.12.14
Calendar 예제  (0) 2011.05.28
JSON 테스트  (0) 2011.05.28