Kafka 소개

BigData/Kafka 2017. 2. 16. 23:42


Apache Kafka


참고

  1. 소개

    • 아파치 카프카
    • 분산 메시징 시스템 으로 대용량의 실시간 로그처리 에 용이하다고 한다
  2. 기본 구성 요소 및 동작

    • 발행-구독(publish-subscribe) 모델을 기반으로 동작
    • 확장성, 고가용성을 고려한 Cluster 구성
      • producer: 특정 topic의 메시지를 생성한 뒤 해당 메시지를 broker에 전달
      • broker: Apache ZooKeeper 에 의한 분산처리 를 통해 topic을 기준으로 메시지를 관리
        • broker들이 클러스터로 구성되어 동작하도록 설계
        • broker가 1개 밖에 없을 때에도 클러스터 로써 동작
      • consumer: 해당 topic을 구독하는 consumer들이 메시지를 수집 및 처리
  3. Topic 과 Partition

    • Kafka의 topic은 partition 이라는 단위로 클러스터의 각 서버들에 분산되어 저장
  4. 기존 메시징 시스템과의 차이점

    • 메시지를 파일 시스템에 저장
      • 데이터 영속성 보장(별도의 설정이 필요하지 않음)
      • 많은 메시지가 쌓여있어도 성능 이슈가 적다
      • 실시간 / batch 작업이 각각 용이하다
    • producer - broker
      • AMQP 프로토콜, JMS API 이 아닌 단순 TCP 기반의 프로토콜로 오버헤드 감소
      • 다수의 메시지를 batch형태로 broker에게 한 번에 전달할 수 있다 == TCP/IP 라운드트립 횟수를 줄일 수 있다
    • broker - consumer
      • 기존 방식: broker의 push 에 의한 메시지 전달
      • kafka 방식: consumer 의 pull 에 의한 메시지 전달
      • consumer 의 처리능력에 따라 메시지를 전달 받기 때문에 성능적으로 우수할 수 있다


'BigData > Kafka' 카테고리의 다른 글

kafka 동작에 필요한 명령어  (0) 2017.05.29
kafka 모니터링 도구  (0) 2017.03.16
Kafka Multi Cluster broker 구성하기  (0) 2017.02.22
Posted by 감각적신사
,