빅데이터/Kafka 125

빅 데이터 처리를 위한 아파치 Kafka 개요 및 설명

Apache Kafka LinkedIn에서 최초로 만들고 opensource화 한 확장성이 뛰어난 분산 메시지 큐(FIFO : First In First Out) → 분산 아키텍쳐 구성, Fault-tolerance한 architecture(with zookeeper), 데이터 유실 방지를 위한 구성이 잘되어 있음→ AMQP, JMS API를 사용하지 않은 TCP기반 프로토콜 사용→ Pub / Sub 메시징 모델을 채용→ 읽기 / 쓰기 성능을 중시 → Producer가 Batch형태로 broker로 메시지 전송이 가능하여 속도 개선→ 파일 시스템에 메시지를 저장하므로, 데이터의 영속성 보장→ Consume된 메시지를 곧바로 삭제하지 않고 offset을 통한 consumer-group별 개별 consume..

빅데이터/Kafka 2018.12.24
Spring boot scheduler를 활용한 kafka producer/consumer 예제

Kafka는 분산 메시징 플랫폼으로 폭넓은 확장성과 우수한 성능을 가진다. Kafka의 간단한 사용을 위해 Spring boot를 사용하여 consumer, producer개념을 익힐 수 있다. Spring boot의 scheduler기능을 통해서 producer가 kafka에 topic을 내려 주면, subscribe하고 있는 consumer가 해당 메시지를 받는 형태로 만들 것이다. Architecture Spring boot scheduler와 kafka의 연동 구성도 Kafka 설치 Kafka의 설치과정은 아래 posting에서 확인할 수 있다. Macbook에 Kafka 1분만에 설치하기(바로가기) Project directory 프로젝트 directory는 intellij의 spring boo..

빅데이터/Kafka 2018.11.06
Macbook에 Kafka 1분만에 설치하기

Kafka는 분산 메시징 플랫폼으로 폭넓은 확장성과 우수한 성능을 가진다. Kafka의 간단한 사용을 위해 local computer인 Macbook에 Kafka를 설치해보자. 1. Homebrew 설치Homebrew는 macOS 용 패키지 관리자로서 간단하면서도 강력한 기능을 가진다. 이미 Homebrew를 가지고 있는 사용자라면 바로 2번으로 넘어가도 좋다. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 상기 명령어를 terminal에 입력하면 순식간에 설치가 완료된다. 2. Zookeeper 설치Zookeeper는 kafka를 구동하기 위한 필수불가결한 존재이다. Kaf..

빅데이터/Kafka 2018.11.06
Kafka opensource 분석을 통한 replication assignment 로직 확인

Replication과 partition 개념은 Apache Kafka에서 fault tolerance 동작을 위한 핵심개념이다. 각 broker에 어떻게 partition들이 replication 되는지 github에 올라가 있는 Kafka의 opensource를 분석하여 알아 보자. Partition과 Replication # Partition : 어떤 토픽에 대해서 producer/consumer가 병렬처리방식으로 분산저장되는 단위 # Replication : 높은 가용성(High Availibility)을 얻기 위해 각각의 partition을 각기 다른 브로커에 복제하는 역할 Kafka에서 Topic을 생성하게 되면, 설정 한 partition, replication의 각각 개수에 따라 parti..

빅데이터/Kafka 2018.09.28