ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 카프카 용어 정리 및 특징
    Kafka 2019. 8. 28. 23:04

    카프카 용어

    카프카 : 아파치 프로젝트 애플리케이션 이름. 클러스터 구성이 가능하며, 카프카 클러스터라고 부름.

    브로커 : 카프카 어플리케이션이 설치 되어있는 서버 또는 노드를 뜻한다.

    토픽(메세지 저장소) : 프로듀서와 커슈머들이 카프카로 보낸 자신들의 메세지를 구분하기 위한 네임으로 사용. 많은 수의 프로듀서 컨슈머들이 동일한 카프카를 이용하게 된다면, 메세지들이 서로 뒤섞여 각자 원하는 메세지를 얻기 어렵게 된다. 그래서 토픽이라는 이름으로 구분하여 사용하게 된다.

    파티션: 병렬처리 가능하도록 토픽을 나눌 수 있고, 많은 양의 메세지를 처리를 위해 파티션 수를 늘릴 수 있다.

    프로듀서 : 메세지를 생산하여 브로커의 토픽 이름으로 보내는 서버 또는 어플리에키션

    컨슈머 : 브로커의 토픽 이름으로 저장된 메세지를 가져가는 서버 또는 어플리케이션

     

    카프카의 특징 

    1. 프로듀서와 컨슈머의 분리 : 프로듀서 쪽에 있는 서비스들과 컨슈머 쪽에 있는 서비스들이 완벽하게 분리시켜 놓기 때문에,  어느 한쪽 시스템에서 문제가 발생하더라도 연쇄작용이 발생할 확률이 매우 낮음.

    2. 멀티프로듀서, 멀티컨슈머 : 멀티 기능은 데이터 분석 및 처리 프로세스에서 하나의 데이터를 다양하게 사용할 수 있음.

    3. 디스크에 메시지 저장 (기본 7일) : 일반적 메세징 시스템은 컨슈머가 메세지를 읽으면 큐에서 바로 메세지를 삭제. 그러나 카프카는 일정 주기 동안 디스크에 저장해 놓기 때문에, 트래픽이 일시적으로 폭주해 컨슈머의 처리가 늦어지더라도 카프카의 디스크에 안전하게 보관되어있기 때문에, 컨슈머는 메세지 손실 없이 메세지를 가져갈 수 있다.

    4. 확장성 : 클러스터를 3대의 브로커로 시작해 수십 대의 브로커로 확장 가능. 서비스 중단 없이 온라인 상태에서 작업이 가능. 

    5. 높은 성능 : 내부적으로 분산 처리, 배치 처리 등 다양한 기법을 사용.

Designed by Tistory.