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