본문 바로가기

IT/OpenSource

[Apache Kafka]Kafka Consumer Group에 대한 고찰(2023.03.30) 0. Table Of Contents 0. Table Of Contents 1. Consumer Group이란 무엇인가 2. Consumer Group이 왜 필요한가 2.1. Consumer Failover 2.2. 다수의 Instance에서의 Offset 관리 2.2.1. 독립적인 Consumer로 구성하였을 경우 2.2.2. 같은 Consumer Group의 Instance로 구성하였을 경우 3. Consumer Group과 Partition의 관계 1. Consumer Group이란 무엇인가 Consumer Group이란, Consumer Instance를 대표하는 그룹이며 아래 그림을 참조한다. Consumer (Instance) : Broker로부터 데이터를 pull 받아 처리하는 단일 proc.. 더보기
[Apache Kafka] kafka topic convention에 대한 고민 (2022.12.29) 0. Table Of Contents 0. Table Of Contents 1. 발생한 이슈 사항 2. 기본적인 Kafka Topic Convention 3. 개인적으로 cut 한 생각들 1. 발생한 이슈 사항 모식도를 먼저 그려보면 아래 그림과 같다. 여러 공장에서 여러개 장비에 대한 buffer 데이터를 cluster에 전송한다. 이 때, 보낸 데이터에 대한 식별자가 필요한데 이를 topic으로 관리한다. topic convention에 대해 고민하는 도중 아래와 같은 고민이 들었다. 장비별로 topic을 생성한다 공장별로 topic을 생성한다. 이외에도 convention을 지정하기 위한 고민을 하며 들었던 생각 전체를 이 글에 적어놓고자 한다. 2. 기본적인 Kafka Topic Conventio.. 더보기
[Apache Kafka] Kafka Data Ordering issue (2023.01.26) 0. Table Of Contents 0. Table Of Contents 1. 서론 2. 문제점 2.1. partition이 하나일 경우의 데이터 ordering test 2.2. partition이 복수개의 경우 2.2.1. kafka clustering 2.2.2. data ordering test 3. 문제점 분석 4. 해결법 4.1. partitioning key 4.2. sticky partition 1. 서론 현재 기획중인 데이터 파이프라인의 경우 아래와 같은 특성을 지니고 있다. 하나의 source가 아닌 다양한 환경의 source에서 데이터를 받는다. 현장 local server가 존재하지만, 통계 및 분석을 local server에서 지원하게되면 disk 및 성능 문제가 발생 할 수 있.. 더보기
[OpenSource] Apache Kafka Table of content 1. What is the Apache Kafka 2. Benefits of Apache Kafka 3. Apache Kafka 아키텍처 3.1. 주체 단위 아키텍처 3.1.1. Producer 3.1.2. Broker 3.1.3. Zookeeper 3.2. 데이터 단위의 아키텍처 3.2.1. Topic 3.2.2. Partition 3.2.3. Offset 4. Failover 과정 5. 가장 이상적인 Kafka 아키텍처 1. What is the Apache Kafka Apache Kafka는 대량의 데이터를 처리할 수 있으며, 엔드포인트간 메시지를 전달 할 수 있는 분산 발행-구독 메시징 시스템이다. Kafka 메시지는 스토리지에 유지되고 데이터 복제를 통해 데이터 손.. 더보기