-
Kafka 용어 정리개발 2022. 5. 31. 21:18
Topic
카프카 클러스터의 브로커에서 데이터를 관리할 때 기준이 되는 개념. 데이터의 종류를 설정하는 개념이라고 보면 된다. 예를 들어 회원 가입에 대한 이벤트를 중점적으로 처리한다고 이름으로 "join.event" 라는 토픽을 만들어줄 수 있다.
Leader Partition, Follower Partition
카프카 클러스터에게 전달한 Topic을 저장하는 데이터 저장소다. Topic은 손실이 되는 것을 막기 위해 하나의 Partition에만 소속되는 것이 아니라 여러개의 Partition에 중복으로 존재한다. 특정 Sector에만 데이터를 두지 않는 RAID 저장 방식과 다른데 차이점이 있다면 Topic의 경우 컨슈머에서 처리를 해야하는 데이터기 때문에 특정 Partition 에서 데이터를 받아와야 한다. 이때 컨슈머와 데이터를 주고 받는 저장소가 Leader Partition 이다. 반대 개념으로 Follower Partition이 있는데 이 Partition에서는 컨슈머와 직접적인 소통은 하지 않지만 Leader Partition으로 전달된 토픽을 복제해서 갖고 있다.
Broker
브로커는 카프카 서버, 인스턴스다. Producer로 부터 전달 받은 토픽을 안전하게 분산 저장하고 사용할 수 있도록 도와주는 역할을 한다.
Controller
여러 브로커중 하나의 브로커가 컨트롤러 역할을 한다. 클러스터 내의 브로커가 장애로 사용할 수 없다면 다른 브로커에게 리더 파티션의 지위를 재분배한다.
Coordinator
컨슈머 그룹의 상태를 체크하여 특정 컨슈머가 장애가 발생하여 Topic을 처리할 수 없으면 정상적으로 동작하는 컨슈머에게 매칭한다.
Zookeeper
카프카 시스템 서버들에 대한 환경 설정을 담당한다. Redis Zookeeper 처럼 환경설정을 담당하는 매니저다.
Producer
Topic을 생성하고 Kafka 클러스터에 전달하는 서비스를 Producer라 한다. 리더 파티션을 갖고 있는 브로커와 직접 통신한다.
Partitioner
프로듀서 애플리케이션 내에서 메시지를 카프카에 보낼 때 어떤 파티션에 전달될 지를 결정한다.
Consumer
Topic 파티션에 저장된 메시지를 소비하는 서비스를 담당하는 서버를 말한다.
'개발' 카테고리의 다른 글
kubernetes - Configmap 생성하기 (0) 2022.06.10 kubernetes - Configmap (0) 2022.06.08 golang 장단점 분석 (vs JAVA) (0) 2022.03.10 Flutter - Row, Column, Flexible, Expanded (0) 2022.03.01 PostgreSQL VACUUM (0) 2022.02.17