Search

What is Kafka?

Kafka의 구조

Kafka Server는 특정 포트나 IP에서 생성되는 이벤트를 가져온다. 이벤트 생성자는 Producer라 부른다. Producer는 Kafka Server에 이벤트를 publish한다.
Kafka Server는 자신을 Subscribe한 Consumer에게 메시지를 전달한다.
이 과정 속에서 Kafka Server는 브로커, 메시징 큐, 메시지 저장소의 역할을 한다.

Kafka는 분리된 플랫폼 / 애플리케이션이다.

실제로 불리는 Kafka 서비스는 Kafka Cluster를 의미한다. Kafka Cluster는 하나 이상의 Kafka Server로 이루어진다. 각 Kafka Server는 Broker라 불리우며, 각 Broker 노드는 공간적으로 분리된 다른 머신에서 네트워크적으로 연결되어 동작할 수 있다.

Kafka는 장애 허용 시스템(Fault-tolerant)이다.

장애허용이란 하나 이상의 컴포넌트가 오류를 발생시켰을때도 시스템은 계속해서 작동할 수 있음을 뜻한다.
Kafka Cluster차원 publish되는 메시지들은 설정된 Replication factor에 기인하여 여러개의 Broker로 복제된다.

Kafka는 확장 가능한 시스템(Scalable)이다.

Kafka Cluster에 Broker를 추가하고 Consumer의 수를 늘림으로써 시스템을 확장시킬 수 있다.