본문 바로가기
MessageQueue/Kafka

kafka 특징

by 아이티.파머 2020. 5. 13.
반응형

2020/05/13 - [MessageQueue/Kafka] - kafka 특징

2020/05/13 - [MessageQueue/Kafka] - kafka 설치 및 clustering

 

kafka 란 ?

  1. 오픈 메세지 브로커(메세징큐)
  2. 실시간 데이터 피드를 관리하기 위해 통일된 높은 스루풋의 낮은 레이턴시를 지닌 플랫폼을 제공하는것이 목표이다.
  3. pub-sub 구조
  4. 분산 환경에 특화되어 설계 되어 있다.
  5. 클러스터 구성, fail-over , replication 과 같은 여러 특징을 가지고 있다.

kafka 특징 및 기타 Message Queue 와의 차이점

카프카와 다른 message quque 의 가장큰 차이점은 통신할때 TCP/IP통신을 통해 바로 디스크로 쓴다는 점이다. (Rabbit MQ의 경우 APMQ 프로토콜 이용) 다른 MessageQueue도 메모리에만 올리지않고 설정을 통해 서버가 다운되더라도 디스크에 저장하는 설정을 할 수 있다. 카프카는 별도의 설정 없이 디스크에 적대하며, 환경설정에서 그주기를 변경 할 수 있다. 통신방법의 차이로 인해 (TCP/IP, APMQ) 카프카는 초당 10만건, Rabbit MQ는 초당 2만건의 데이터 처리가 가능하다.

kafka 주요 용어

  • producer
    1. 메세지 생산(발행)자.
    2. producer 는 선택한 topic으로 데이터를 발행한다.
    3. producer 는 메세지를 발행할 topic을 선택하는 책임을 제게 된다.
    4. 이때 전통적인 round-bin 방식을 사용하여 균등하게 발행 하거나, 메세지 키를 이용하여 특정 partition 에 특정키를 가진 메세지를 보낼수 있다.
  • consumer : 메세지 소비자
  • consumer group : consumer 들끼리 메세지를 나눠서 가져간다.offset 을 공유하여 중복으로 가져가지 않는다.
  • broker : 카프카 서버를 가리킴
  • zookeeper : 카프카 서버 (+클러스터) 상태를 관리
  • cluster : 브로커들의 묶음
  • topic : 메세지 종류
  • partitions : topic 이 나눠지는 단위
  • Log : 1개의 메세지
  • offset : 파티션 내에서 각 메시지가 가지는 unique id

kafka extension

  • Zookeeper
    • 분산코디네이터. 브로커를 모니터링하고, 토픽, 파티션을 관리한다.
  • kafka
    • 스트림 프로세싱 영역에서는 산업표준이라고 할 수 있다.
  • ksql
    • Kafka를 위한 streaming SQL 이다.
  • kafka topic ui
    • topic 정보를 확인 할 수 있는 kafaka topic ui
  • ZooNavigator
    • 주키퍼 정보를 웹으로 네비게이션하고 편집 할 수 있다.
반응형