Kafka(카프카)의 기본 구조 이해하기 (클러스터, 브로커, 토픽, 파티션, 세그먼트)
·
Apache Kafka
이번 포스트는 Kafka의 기본 구조에 대한 내용이다. 📌 서론 지금부터 알아볼 Kafka의 구성 요소는 아래의 그림과 같다. 카프카는 클러스터 -> 브로커 -> 토픽 -> 파티션 -> 세그먼트로 구성되어 있다. 1. 클러스터(Cluster) 클러스터 이해하기 Kafka 클러스터는 여러 대의 서버(브로커)로 구성된 Kafka 시스템이다. 클러스터는 대량의 데이터를 처리하고, 여러 소비자(Consumer)와 생산자(Producer)에게 메시지 서비스를 제공한다. 클러스터는 메시지의 저장, 처리 및 전달을 담당한다. 클러스터는 고가용성과 확장성을 제공하며, 데이터를 여러 브로커에 분산시켜 저장한다. 2. 브로커(Broker) 브로커 이해하기 Kafka 브로커는 Kafka 시스템을 구성하는 개별 서버다. 이 ..
Kafka(카프카)란 무엇인가
·
Apache Kafka
주니어 백엔드 개발자의 Apache Kafka 이해하기 📌 서론: Kafka는 왜 만들어졌을까? LinkedIn은 빠르게 성장하는 플랫폼으로, 수백만 명의 사용자와 수십억 개의 이벤트를 실시간으로 처리해야 했다. 그러나 당시 사용하고 있던 메시징 시스템은 이런 대규모 데이터와 실시간 분석 요구사항을 충족시키지 못했다. 이러한 문제를 해결하기 위해, LinkedIn은 새로운 데이터 스트리밍 플랫폼이 필요했다. 그 결과, 높은 처리량, 낮은 지연 시간, 그리고 높은 가용성을 목표로 Kafka가 개발되었다. Kafka의 도입으로 LinkedIn은 기존에 겪던 데이터 처리와 실시간 분석의 문제를 성공적으로 해결할 수 있었다. 이렇게 Kafka는 LinkedIn의 특정 문제를 해결하기 위해 탄생했고, 그 후로도 ..
AWS Message-Driven 4편: SNS와 SQS를 SpringBoot에 연동하기
·
AWS/SNS, SQS
이번 포스트에서는 SNS, SQS를 SpringBoot와 연동해 보자 1. SpringBoot 설정하기 1-1. SpringBoot 의존성 추가 (Build.gradle 파일) AWS의 메시지 서비스인 SQS(Simple Queue Service)와 SNS(Simple Notification Service)를 Spring Boot 애플리케이션과 통합하기 위한 의존성을 추가한다. 아래와 같이 코드를 작성한다. // AWS implementation platform("io.awspring.cloud:spring-cloud-aws-dependencies:3.0.1") implementation 'io.awspring.cloud:spring-cloud-aws-starter-sqs' implementation '..