Kafka란 ?
간단하게 설명하자면, 이벤트 생산자(Producer
)와 소비자(Consumer
)가 큐잉 시스템을 통해서 데이터를 주고 받는 메시지 큐이다. 예를 들어, 마이크로서비스에서는, 각 서비스 간의 데이터 전달이 필요한 상황에서 느슨한 결합을 이루기 위해 큐잉 시스템을 사용하게 된다. 이렇게 여러 송신자가 메시지를 발행하고 여러 수신자가 구독하는 방식을 Pub/Sub
구조라고 한다.
Producer는 이벤트를 데이터를 구분하기 위한 저장소(Topic
)에 저장하게 된다. 하나의 Topic은 여러 개의 Partition
으로 나뉘어져 있다. 그리고 이 Topic에 저장된 이벤트들 저장, 전달하는 역할을 Broker
가 하게 되는 것이다.
Zookeeper란 ?
Kafla는 크게 Kafka와 Zookeeper로 나뉜다.
아래의 역할을 수행하며 Zookeeper은 Kafka 브로커를 관리하고 조정하는 데 사용된다.
- Producer와 Customer에게 Broker의 신규 생성 여부를 알린다.
- Producer와 Customer에게 Broker의 실패를 알린다.
이를 통해 Producer와 Customer은 Broker의 존재와 실패에 관한 알림을 기반으로 결정을 내리고 다른 Broker와 작업을 조정한다.
Zookeeper 설치하기
Kafka를 설치하기 앞서 Zookeeper를 먼저 설치하자.
Apache 공식 사이트에서 최신 릴리즈를 tar.gz
파일을 다운로드한다.
다운로드 후 windows사용자 기준, 아래 작업을 수행하여 zookeeper을 실행한다.
cd C:\kafka_2.13-3.4.0\bin\windows
.\zookeeper-server-start.bat ..\..\config\zookeeper.properties
kafka 설치하기
그 다음, Powershell을 하나 더 띄우고 동일한 폴더에서 아래 명령어를 실행한다.
.\kafka-server-start.bat ..\..\config\server.properties
실행 확인
zookeeper의 기본 포트는 2181이고, kafka는 9092이다. 아래 명령어를 입력해서 실행이 되고 있는지 확인하자.