1. Kafka와 Strimzi에 대한 설명Kafka란? Apache Kafka는 대용량 실시간 데이터를 처리하기 위한 분산 이벤트 스트리밍 플랫폼입니다. 주로 아래와 같은 역할을 수행합니다.메시지 큐(Message Queue): 생산자(Producer)가 보낸 메시지를 소비자(Consumer)가 받아서 처리할 수 있도록 저장하고 전달하는 역할을 합니다.분산 시스템: 여러 대의 서버(브로커)에 데이터를 분산 저장하여 확장성과 안정성을 확보합니다.고성능 및 확장성: 초당 수백만 건의 이벤트를 처리할 수 있으며, 필요에 따라 브로커 수를 늘려 성능을 확장할 수 있습니다.지속성: 디스크에 데이터를 저장하여 장애 발생 시에도 데이터 손실 없이 복구할 수 있습니다.Strimzi란? Strimzi는 쿠버네티스(Ku..
1. 구성 환경 및 설치 버전GCP Computer Engine: e2-standard-2(vCPU 2개, 메모리 8GB) 3대무료 크레딧을 사용할 수 있는 GCP를 사용Kafka 3.7.2최신 4버전을 설치해서 사용해보려 했으나 학습목적이므로 stable버전을 사용하기로함Java 17Kafka 3.7.2: Java 11이상 권장 (Kafka Broker Java11이상 / Kafka Clients, Streams Java 8이상)Kafka 4:Java 17이상 권장 (Kafka Broker Java17이상 / Kafka Clients, Streams Java 11 이상)추후 업그레이드를 생각하여 Java17로 설치하기로함KRaft분산 시스템을 관리하기 위한 메커니즘기존엔 Zookeeper를 사용하여 클..
Kafka는 대규모 실시간 데이터 스트리밍을 위한 대표적인 분산 메시지 큐 시스템입니다. 이번 포스팅에서는 Kafka의 기본 개념과 구성 요소 등을 살펴보며 Kafka가 왜 실시간 데이터 처리 플랫폼으로 각광받는지 알아봅시다. 1. Kafka Overview1.1 Kafka의 주요 기능Kafka는 다음과 같은 특징을 가진 분산 메시지 큐 시스템입니다:Pub/Sub 모델을 지원하는 구조로 데이터를 생산하는 Publisher와 소비하는 Consumer라고 하는 subscriber로 데이터를 관리하고 처리여러 대의 서버로 구성된 클러스터 기반 아키텍처를 통해 수평 확장 가능Topic 단위로 데이터를 관리하며, Topic은 여러 개의 Partition으로 구성 가능High throughput, Low laten..
현대의 디지털 서비스는 점점 더 실시간 응답을 요구하고 있습니다. 사용자의 행동, 장비의 센서 데이터, 시스템 로그 등 수많은 정보가 끊임없이 생성되고 있으며, 이를 즉시 처리하고 반응해야만 경쟁력을 유지할 수 있습니다. 이러한 요구를 충족시키기 위해 등장한 것이 이벤트 스트리밍(event streaming)과 이벤트 기반 아키텍처(Event-Driven Architecture)입니다. 이번 글에서는 이벤트 스트리밍의 개념부터, Event-Driven Architecture, 그리고 분산 메시지 큐에 이르기까지 핵심 개념을 정리해 보겠습니다. 1. 스트리밍 데이터 처리의 필요성1.1 이벤트 스트리밍이란?이벤트 스트리밍(event streaming)은 데이터베이스, 센서, 모바일 장치 등에서 발생하는 실..