DATA/Kafka(12)
-
ISR (In Sync Replica)
ISR (In Sync Replica)는 카프카에서 메시지의 복제 상태를 추적하고, 메시지가 복제되고 있는 상태에서 리더 파티션(Leader Partition)과 팔로워 파티션(Follower Partition) 사이의 동기화를 관리하는 개념이다. ISR은 카프카의 데이터 가용성과 내구성을 보장하는 중요한 요소로, 리더 파티션에 메시지가 쓰여질 때 팔로워 파티션이 이를 정확하게 복제하는 과정을 추적한다.ISR의 동작 원리Leader와 Follower카프카의 파티션은 리더(Leader)와 하나 이상의 팔로워(Follower)로 구성된다.리더 파티션은 메시지를 받는 주체로, 클라이언트로부터 데이터를 수신하여 해당 데이터를 처리하고 다른 팔로워 파티션에 복제한다.팔로워 파티션은 리더의 데이터를 복제하는 역할을..
2024.11.27 -
카프카에서 세그먼트(Segment)와 레코드(Record)
카프카에서 세그먼트(Segment)와 레코드(Record)는 중요한 개념이다. 카프카에서 레코드는 메시지의 기본 단위이며, 이를 통해 데이터가 프로듀서에서 컨슈머로 전송된다. 레코드는 다양한 구성 요소를 포함하고 있으며, 이러한 구성 요소는 카프카에서 데이터가 어떻게 저장되고 처리되는지에 중요한 역할을 한다.레코드(Record)의 구성Key (선택적)Key는 레코드를 파티셔닝할 때 사용된다. 특정 레코드를 특정 파티션으로 보내기 위해 파티션 키를 설정할 수 있다., CustomerID나 OrderID와 같은 값을 Key로 사용하여 특정 레코드를 항상 동일한 파티션에 보내도록 할 수 있다.Key는 Optional로 설정할 수 있으며, Null 값일 수도 있다.ValueValue는 실제 데이터가 저장되는 부..
2024.11.27 -
카프카의 주요 개념: 이벤트, 스트림, 토픽
카프카의 주요 개념: 이벤트, 스트림, 토픽이벤트 (Event):이벤트는 어떤 일이 발생했을 때의 상태를 나타내는 불변하는 데이터이다., 사용자가 특정 버튼을 클릭한 경우, 서버에 요청을 보낸 경우, 결제 트랜잭션이 발생한 경우 등이 이벤트가 될 수 있다.이 이벤트는 레코드 또는 메시지로 시스템 간에 전송될 수 있으며, 각 이벤트는 특정 시간에 발생한 데이터를 나타낸다.이벤트는 순차적으로 발생하며, 이를 스트림으로 처리하게 된다.스트림 (Stream):스트림은 연관된 이벤트들의 흐름을 의미한다. 여러 개의 이벤트가 순차적으로 발생하고 이를 처리하는 과정이 스트림이라고 할 수 있다.이벤트들은 시간 순서대로 발생하며, 각 이벤트는 연속적인 데이터 흐름의 일부로 다뤄진다. 즉, 스트림은 여러 개의 관련된 이벤..
2024.11.27 -
Zookeeper 및 부분 실패(Partial Failure)
Zookeeper 및 부분 실패(Partial Failure)Zookeeper란?Zookeeper는 분산 시스템을 위한 중앙 집중식 서비스로, 주로 구성 관리, 동기화, 클러스터 상태 관리 및 리더 선출 등을 처리하는 데 사용된다. Kafka 같은 분산 시스템에서 중요한 역할을 하며, 클러스터의 메타데이터를 관리하고, 분산 환경에서의 상태 관리와 동기화 문제를 해결하는 데 도움을 준다.Zookeeper는 클러스터의 노드들 간에 상태를 공유하고, 데이터의 일관성을 유지하는 중요한 역할을 한다. Kafka와 같은 시스템에서는 Zookeeper를 사용하여 브로커의 메타데이터와 파티션 정보, 리더 선출 등을 관리한다.부분 실패(Partial Failure)란?부분 실패는 분산 시스템에서 발생할 수 있는 문제 중..
2024.11.27 -
Kafka의 프로듀서(Producer) | 카프카 데이터 복제 (Replication) |컨트롤러와 코디네이터
카프카 프로듀서의 이해데이터 저장:Kafka의 프로듀서(Producer)는 데이터를 토픽(Topic)에 전송한다. 이때 데이터를 전송받은 카프카 브로커(Broker)는 해당 데이터를 파티션(Partition)에 저장한다.카프카는 메시지를 파일 시스템에 저장한다. 각 파티션에 대해 하나 이상의 로그 파일이 생성되며, 이 파일들은 디스크에 저장된다.속도 이슈:Kafka는 데이터를 파일 시스템에 저장하기 때문에, 파일 입출력(File I/O) 속도가 문제될 수 있다.파일 시스템에서의 속도 이슈를 해결하기 위해 페이지 캐시(Page Cache)를 활용하여 디스크 입출력 속도를 개선한다.페이지 캐시(Page Cache):페이지 캐시는 운영 체제(OS)가 관리하는 메모리 영역으로, 파일 입출력 성능을 향상시키는 역..
2024.11.27 -
Kafka
Kafka란?Kafka의 역사 및 기본 구조 소개:Kafka는 LinkedIn에서 시작되어 현재는 Apache Software Foundation에서 관리하는 오픈소스 메시징 시스템이다. 주로 대규모의 데이터 스트리밍과 실시간 데이터 처리에 사용된다.Kafka는 분산 스트리밍 플랫폼으로, 데이터를 실시간으로 처리하고, 저장하며, 다양한 애플리케이션에서 데이터를 쉽게 송수신할 수 있도록 한다.Kafka의 주요 구성 요소로는 Producer, Broker, Consumer, Topic, Partition 등이 있다.Kafka의 구조카프카 브로커의 이해:Kafka 브로커는 메시지를 저장하고 Consumer로부터 요청을 받으며, Producer로부터 데이터를 받아서 토픽에 기록하는 역할을 한다.하나의 Kafka..
2024.11.27