본문 바로가기
728x90

스터디/Kafka6

Kafka 아키텍처 및 동작방식(3)- Consumer, Polling, Rebalancing 목차   1. Consumer란•컨슈머는 컨슈머 API와 이로 구성된 애플리케이션을 의미한다.•일반적으로 컨슈머가 토픽을 구독(subscribe) 또는 읽는다고 한다. •이는 컨슈머가 토픽 파티션에 저장된 메시지들을 가져오는 것을 의미한다.•컨슈머의 특징으로 Polling 구조 / 단일 토픽의 멀티 컨슈밍 / 컨슈밍 그룹이 있다.•이 3가지 특징으로 더욱 효율적이고 유연한 메시지 구독 기능을 제공한다. 2. Polling 구조•컨슈머가 브로커로부터 메시지를 요청하는 polling  구조로 설계되어있다.•즉 컨슈머는 자신이 원하는 만큼의 브로커로 메시지를 요청한다.•장점: 자신의 환경에 메시지 구독 성능을 최적화 할 수 있다. 브로커는 컨슈머의 환경을 고려할 필요가 없다. 3. 단일 토픽의 멀티 컨슈밍•하.. 2025. 1. 10.
Kafka 아키텍처 및 동작방식(2) - Producer, Message, Option 목차   1. Producer란•메시지를 생산해서 카프카의 토픽으로 메시지를 보내는 애플리케이션 서버•프로듀서의 주요 기능은 각각의 메시지를 토픽 파티션에 매핑하고 파티션의 리더에 요청을 보내는 것이다•키 값을 정해 해당 키를 가진 모든 메시지를 동일한  파티션으로 전송 ( 키를 입력하지 않으면 라운드 로빈 방식으로 균등 분배 )  2. send()로 메시지 보내는 방법1) 메시지 보내고 확인하지 않기프로듀서에서 서버로 메시지 보내고 성공적으로 도착했는지 확인하지 않음메시지 손실 가능성이 있어 일반적인 서비스 환경에서는 사용하지 않음 2) 동기 전송메시지를 보내고 send() 메소드의 future 객체를 리턴get() 메소드로 Future를 기다린 후 send()가 성공했는지 확인에러가 없으면 Recor.. 2025. 1. 9.
Kafka 아키텍처 및 동작 방식(1) - Partition, Offset, Broker 목차 1. Kafka 아키텍처 Kafka는 producer가 topic에 데이터를 넣으면 consumer가 가져가는 구조이다.Topic은 데이터가 저장되는 공간으로 어떤 데이터를 담을지 명시하는게 좋다.Ex) click_log, send_sms, location_log 등.. 2. Kafka Partition토픽마다 1개 이상의 파티션 존재빠른 전송을 위해서는 병렬로 처리되어야 하며 이를 위해서 토픽 내에 여러 파티션이 필요하다.파티션 수는 증가시킬 수 있지만 줄일 수 없다. -> 줄일려면 토픽을 삭제해야 한다.따라서 파티션 수를 무작정 늘리기보다는 적절한 값으로 설정한다.적은 수의 파티션으로 운영하다가 프로듀서 또는 컨슈머에서 병목현상이 발생하면 조금씩 늘려가는 방식을 권장   3. Offset 파티션.. 2025. 1. 8.
Kafka 주요 용어 정리 1)EventEvent 는 kafka에서 Producer와 Consumer가 데이터를 주고받는 단위이다. 이벤트 또는 메시지라고 한다. 2)Producer (Publisher)Producer는 kafka에 이벤트를 게시(post)하는 클라이언트 어플리케이션을 의미한다. Publisher라고도 하며 메시지를 보내는 쪽이다. 3)Consumer (Subscriber)Consumer는 이러한 Topic을 구독하고 이로부터 얻어낸 이벤트를 처리하는 클라이언트 어플리케이션이다. Subscriber라고도 하며 메시지를 수신하는 쪾이다. 4)Topic이벤트가 쓰이는 곳이다. Producer는 이 Topic에 이벤트를 게시한다. 그리고 Consumer는 Topic으로부터 이벤트를 가져와 처리한다. Topic은 파일시스.. 2025. 1. 5.
Kafka 구조 및 구성 요소, Pub/Sub 모델 목차   1. Pub/Sub 모델카프카는 Pub-Sub 모델이다. 여기서 Pub-sub 모델이란 무엇일까?Publish - Subscribe (발행/구독) 모델은 메세지를 특정 수신자에게 직접적으로 보내주는 시스템이 아니다.Publisher는 메시지를 topic(어떠한 집단을 말함)을 통해서 카테고리화 한다.분류된 메시지를 받기 원하는 receiver는 그 해당 topic을 구독(subscribe)함으로써 메시지를 읽어 올 수 있다.publisher는 topic에 대한 정보만 알고 있고, 마찬가지로 subscriber도 topic만 바라본다.즉, 데이터를 관리하는 Kafka 서버를 사이에 끼고 데이터를 넣는 publisher와 데이터를 읽는 subscriber는 각자의 업무만 kafka 서버를 통해 수.. 2025. 1. 4.
Kafka 기본 개념 및 의미 목차   1. Kafka 란   •데이터 파이프라인(Data Pipeline)을 구축할 때 가장 많이 고려되는 시스템 중 하나가 '카프카(Kafka)’ 이다. •아파치 카프카(Apache Kafka)는 링크드인(LinkedIn)에서 처음 개발된 분산 메시징 시스템이다. •카프카는 분산 스트리밍 플랫폼으로 대용량의 실시간 로그처리에 특화되어 있는 솔루션이다.•데이터를 유실없이 안전하게 전달하는 것이 주목적이다.•클러스터링이 가능하므로 Fault-Tolerant한 안정적인 아키텍처와 빠른 퍼포먼스로 데이터를 처리한다.•Pub-sub 모델의 메시지 큐 구조이다. 2. Kafka 특징Publisher Subscriber 모델 Publisher Subscriber 모델은 데이터 큐를 중간에 두고 서로 간 독립적.. 2025. 1. 3.
728x90