Kafka

개요

대용량의 실시간 데이터 스트리밍을 처리하고 관리하기 위한 분산형 이벤트 스트리밍 플랫폼, 하나의 메시지에 대해 병렬 처리를 하거나, 브로드캐스팅으로 동기화를 하는데 사용할 수 있다.

요소

  • 브로커 : Producer와 Consumer를 매개하는 하나의 Kafka 서버, 여러개가 모여 하나의 클러스터를 구성한다.
  • 토픽 : 메시지를 구분하는 카테고리
  • 파티션 : 토픽에 존재하는 메시지 저장 단위
  • 프로듀서 : 메시지를 발생시키는 어플리케이션
  • 컨슈머 : 메시지를 읽어 소비하는 어플리케이션
  • 주키퍼 : 카프카의 메타데이터를 관리하는 분산 코디네이션 서비스, 카프카 서버와 별도의 프로세스

주의사항

  • 하나의 파티션 당 하나의 컨슈머만이 처리할 수 있다. 파티션은 반드시 하나의 컨슈머와 매핑되고, 컨슈머는 하나 이상의 파티션과 매핑된다.
  • 키를 기준으로 파티션이 지정된다.