공부하다죽어라
article thumbnail

Kafka broker

카프카 브로커란?

카프카 어플리케이션 서버, 즉 카프카의 서버를 의미합니다.

 

일반적으로 kafka 브로커는 3대 이상의 Broker Cluster를 구성하는 것을 권장한다고 합니다.

이렇게 연결된 브로커들을 관리해주기위해 코디네이터라는 시스템을 연동하여 사용하는데

그 시스템이 바로 Zookeeper 입니다.

Zookeeper

공개분산형 구성 서비스, 동기 서비스 및 대용량 분산 시스템을 위한 네이밍 레지스트리를 제공한다.
- 아파치 주키퍼 위키백과

 

아파치 주키퍼의 역할은 클러스터링된 브로커의 메타데이터 ( Controller Id, Broker Id ) 를 관리하고 Controller 정보를 저장합니다. 이유는 N개의 브로커중 하나는 무조건 Controller의 역할을 담당해야 하기 때문입니다. 이러한 역할을 담당하는 브로커를 리더라고 부르는데 혹여 장애가 생겨 리더의 역할을 할 수 없는 상황이 생겼을 때, 주키퍼는 이러한 리더 브로커의 역할을 잠시 중단하고 리더를 대신할 브로커를 찾아 위임합니다.

 

 

카프카 주요 개념 ( 용어 )
  • producer : 메세지 생산(발행)자.
  • consumer : 메세지 소비자
  • consumer group : consumer 들끼리 메세지를 나눠서 가져간다. offset 을 공유하여 중복으로 가져가지 않는다.
  • broker : 카프카 서버를 가리킴
  • zookeeper : 카프카 서버 (+클러스터) 상태를 관리
  • cluster : 브로커들의 묶음
  • topic : 메세지 종류
  • partitions : topic 이 나눠지는 단위
  • Log : 1개의 메세지
  • offset : 파티션 내에서 각 메시지가 가지는 unique id

[참고] https://taetaetae.github.io/2017/11/02/what-is-kafka/

'개발 > Kafka' 카테고리의 다른 글

[Kafka] Apache Kafka란  (0) 2021.06.14
profile

공부하다죽어라

@슥혁

감사합니다 👍🏻