Kafka5 [Apache Kafka] Kafka Group Consumer Rebalance Kafka Consumer Rebalance는 Kafka Consumer 그룹내에서 파티션 할당이 변경되는 과정이다. Kafka Broker의 Group Coordinator는 아래와 같은 경우 Consumer Group내의 Consumer 들에게 파티션을 재할당하는 Rebalancing을 하도록 요청한다.Consumer Group 내에 새로운 Consumer가 추가되는 경우기존 Consumer가 종료 될 때Topic에 새로운 Partition이 추가 될 때Kafka Partition Rebalance 시 Consumer Group의 안정성과 중단 시간을 줄이기 위한 방법으로 Eager Protocol과 Cooperative Protocol 방식이 있다.Rebalance 작업 방식Eager Protoco.. 2024. 12. 28. [Apahce Kafka] Kafka Consumer Kafka Consumer는 메시지를 구독하고 처리하는 역할을 담당하는 클라이언트이다.1. Consumer GroupConsumer는 단 하나의 Consumer Group에 소속되며, Consumer Group은 고유한 그룹아이디를 가지고 1개 이상의 Consumer를 가질 수 있다.토픽 메시지는 Consumer Group에서 단 하나의 Consumer 에만 할당된다.2. Kafka Consumer Subscribe, Poll, Commit 과정1. 토픽 구독 (Subscribe)Consumer는 subscribe를 호출하여 읽을 토픽을 등록한다.2. 토픽 메시지 소비 (poll)Consumer는 poll 메소드를 이용하여 주기적으로 브로커의 토픽 파티션에서 메시지를 가져온다.Fetcher는 Consum.. 2024. 12. 28. [Apache Kafka] Kafka Producer Kafka Producer는 메시지를 생성하고 Kafka 토픽에 전송하는 역할을 담당하는 클라이언트이다.1. Kafka Producer의 주요 기능1. 메시지 전송 Producer는 메시지를 생성한 후 Kafka 토픽으로 전송메시지는 특정 토픽의 하나 이상의 파티션으로 저장2. 파티셔닝 (Partitioning)Producer는 메시지가 어느 파티션에 저장될지 결정Key 값을 가지는 경우 키를 기준으로 파티션을 선택Key 값을 가지지 않는 경우 라운드 로빈 또는 스티키 방식으로 파티션을 선택3. 메시지 직렬화메시지를 전송하기 전에 데이터를 바이트 배열로 직렬화메시지의 키와 값을 각각 지정된 Serializer를 사용해 직렬화4. ACK (Acknowledgment)Producer는 메시지가 성공적으로 브.. 2024. 12. 26. [Apache Kafka] Kafka Replication란? Kafka Replication은 Kafka에서 데이터의 고가용성을 보장하기 위한 방법으로 각 토픽의 파티션(Partition)을 복제를 통해 클러스터 내의 여러 브로커에 중복 저장하는 것이다.Kafka 브로커가 장애가 생기더라도 데이터 손실을 최소화하고, 클러스터의 가용성을 유지할 수 있다.Replication FactorReplication Factor는 각 파티션의 데이터를 몇 개의 복제본으로 저장할지 결정하는 값이다.예를 들어, 파티션(Partition)이 1개, Replication Factor가 2이면, 원본인 리더 파티션 1개와 복제본인 팔로우 파티션이 1개 존재한다.Replication Factor는 브로커의 수 보다 클 수 없다. Replication이 많아지면 브로커의 리소스 사용량도 .. 2024. 9. 18. [Apache Kafka] 카프카란 무엇인가? Kafka는 대규모 실시간 데이터 스트리밍을 처리하는 데 사용되는 분산 이벤트 스트리밍 플랫폼분산 이벤트 스트리밍이란, 여러 대의 서버(노드)에 분산되어 저장된 이벤트(데이터)를 실시간으로 처리하는 방식카프카 용어클러스터(Cluster)브로커들의 모임으로 확장성과 고가용성을 위해 여러 개의 Broker가 클러스터로 구성되어 있다.브로커(Broker)카프카가 설치되어 있는 서버 단위를 말하며 보통 3개 이상의 Broker로 구성하는 것을 권장복제(Replication)Kafka Replication은 Kafka에서 데이터의 고가용성을 보장하기 위한 방법으로 각 토픽의 파티션(Partition)을 복제를 통해 클러스터 내의 여러 브로커에 중복 저장하는 것이다.토픽(Topic)메시지를 구분하는 단위로 프로듀서.. 2024. 9. 18. 이전 1 다음