[Kafka]_Kafka 의 개념과, 사용 의의

2022. 4. 6. 10:09[Kafka]

728x90
반응형

Kafka 소개]

 

2011년 LinkedIn에서 개발된 분산 메시징 시스템이며

2014년 아파치를 통해 오픈 소스화

 

주요기능]

 

Producer : 메시지를 보내는 자

consumer : 메시지를 받는자

의 모델로 이루어저 있다

 

고가용성& 안정성 -> 파일시스템에 메시지를 저장하기 때문에 별다른 설정 없이 영속성 보장

확장성 -> 3대의 브로커로 시작해 수십대의 브로커 확장 가능

디스크 순차 저장 및 처리

분산 처리 -> 메시지 분산 처리로 인해 단일 시스템보다 높은 성능

 

특징]

 

메시지를 메모리에 저장하지 않고 파일 시스템에 저장

TCP 기반의 Protocal을 사용하여 오버헤드 감소

컨슈머 그룹이라는 개념을 도입하여 큐와 발생/구독 모델을 모두 지원함

스트리밍 플랫폼을 구성하는 노드에 문제가 생기더라도 데이터를 안전하게 저장함 < 중요한 기능

 

공식 홈페이지 : Apache Kafka

 

Apache Kafka

Apache Kafka: A Distributed Streaming Platform.

kafka.apache.org

kafka 구현도 예시]

클러스터 그룹 : zookeeper 가 설치된 서버들, 클러스터의 경우 총합이 홀수가 될 만큼추가 가능 ex) 3대, 5대

Broker : kafka 가 설치(구동) 되어 있는 서버로 Producer 와 Consumer 를 연결하는 중개자 역활

Producer : 생산자로써 메시지를 생산 -> 발송(Broker 서버)

Consumer : 소비자로써 메세지를 소비한다. 중개자(Broker) 가 가지고 있는 Topic을 기준으로 메시지를 수신

Topic : Data가 저장되는 곳 Topic을 기준으로 데이터를 송,수신 한다.

Zookeeper : kafka 를 안정적으로 운용하기 위한 Coorination Service

 

+@

Consumer Group :  메시지 소비자 묶음 단위

Partition : Topic을 복사 하여 나뉘어 지는 단위

728x90
반응형