Apache Kafka는 Apache software Foundation의 Scalar 언어로 된 오픈 소스 메시지 브로커 프로젝트로 실시간 데이터 피드를 관리하기 위해 통일된 높은 처리량, 낮은 지연 시간을 지닌 플랫폼을 제공한다. RabbitMQ보다 대용량을 처리할 때 많이 사용된다.
kafka 사용 이전의 시스템
모든 시스템으로 데이터를 실기간으로 전송하여 처리할 수 있고 데이터가 많아지더라도 확장이 용이한 시스템
중간에 kafka를 둠으로써 자신들이 전송하는 데이터가 어떠한 시스템에 저장되는지 관계하지 않고, kafka 하나만 상대하게 만든다.
Producer/Consumer 분리
kafka에서의 애플리케이션 서버를 broker라고 부른다.
그림과 같이 3개 이상의 broker로 cluster를 구성한다. 각각의 broker는 서로의 메시지를 공유하면서 fault tolerance하게 한다.
https://kafka.apache.org/downloads 이 사이트에 접속하여 kafka를 다운로드 받을 수 있다.
zookeeper와 서버를 구동해준다.