[정리] 데이터베이스(33)
-
카프카 - 05 - 스트림즈, KSQL
카프카 스트림즈 API 스트림 프로세심은 실시간 분석이라고도 불린다. 스트림 프로세싱과 대비되는 개념은 배치처리, 정적 데이터 처리를 들 수 있다. 스트림 처리를 하다보면 이전 스트을 처리한 결과를 참조해야하는 경우가 있는데 이를 상태 기반 처리라고 한다. 반면 이전 스트림의 처리 결과와 관계 없이 현재 어플리케이션에 도달한 스트림만을 기준으로 처리하는 것을 무상태 기반 처리라고 한다. 카프카 스트림즈는 스파크 스트림이나 스톰과 같이 스트림 처리를 하는 프로세서들이 있다. 카프카 스트림즈 API 는 이런 프로세서들이 연결되는 형상(토폴로지)을 만들어 처리하는 API이다. 카프카 스트림즈 용어 정리 스트림 : 카프카 API 를 사용해 생성된 토폴로지, 끊임없이 전달되는 데이터 세, key-value 형태이..
2020.04.14 -
카프카 - 04 - 데이터 파이프라인
카프카를 활용한 데이터 파이프라인 카프카를 활용하기 위한 다양한 오픈소스들이 있다. 로그 데이터를 수집하는 간단한 워크 플로우는 아래와 같이 짤 수 있다. 파일비트 -> 카프카 -> 나이파이 -> ES -> 키바나 파일비트 앨라스틱 서치에서 제공하는 경량 데이터 수집기이다. 특정 로그 경로를 바라보게해서 input 으로 받고 카프카로 produce 할 수 있다. 나이파이 데이터 흐름을 처리하기 위해서 데이터 처리에 특화된 기능의 솔루션 나이아가라 폭포 + 파일즈 여서 나이파이다. 다양한 프로세서를 가져다 사용할 수 있고 GUI 단에서 데이터 파이프라인을 연결할 수 있다. EvaluateJsonPath 프로세서 : JsonPath 에서 flow 파일 속성에 추가할 수 있고, flow 파일 자체로 기록할 수..
2020.04.14 -
카프카 - 03 - 운영가이드
토픽 생성 /usr/local/kafka/bin/kafka-topics.sh --zookeeper my-zk001:2181,my-zk002:2181,my-zk003:2181/my-kafka -replication-factor 1 --partitions 1 --topic my-topic --create 토픽 상세 조회 /usr/local/kafka/bin/kafka-topics.sh --zookeeper my-zk001:2181,my-zk002:2181,my-zk003:2181/my-kafka --topic my-topic --describe 토픽의 파티션수, 리더인지 확인 가능하다. 토픽 리스트 조회 /usr/local/kafka/bin/kafka-topics.sh --zookeeper my-zk001:..
2020.04.14 -
카프카 - 02 -프로듀서 / 컨슈머
프로듀서의 주요 기능 메시지를 토픽 파티션에 매핑하고 파티션의 리더에 요청을 보내는 것 * auto.create.topics.enable = true 로 설정 되어있는 경우 카프카에 존재하지 않는 토픽에 메시지로 보내면 자동으로 토픽이 생성된다. 자바를 이용한 카프카 프로듀서 import org.apache.kafka.clients.producer.KafkaProducer; import org.apache.kafka.clients.producer.Producer; import org.apache.kafka.clients.producer.ProducerRecord; import java.util.Properties; public class KafkaBookProducer1 { public static vo..
2020.04.10 -
카프카 - 01 - 카프카의 디자인
카프카 디자인의 특징 분산 시스템 아파치 카프카 문서에 따르면 링크드인에서 가장 사용량이 노퓨은 클러스터는 60대의 브로커를 운영하고 있다. 페이지 캐시 카프카는 처리량을 높이기 위해 페이지 캐시를 이용한다. 그래서 카프카를 구성할 때는 디스크 중에서 가격이 저렴한 SATA 를 사용해도 무방하다. 카프카는 자바 기반의 JVM 을 사용하는 어플리케이션이다. 카프카는 JVM 에서 1GB 의 힙메모리 영역을 사용하게 되어있다. 컨플루언트 사의 문서에 따르면 카프카는 초당 메시지 단위, 메가비트 단위를 처리하기 위해 5GB 의 힙메모리면 충분하다고 한다. 그리고 남아있는 메모리는 페이지 캐시로 사용하라고한다. 배치 I/O 처리 카프카는 데이터 I/O를 배치로 묶어서 처리한다. 토픽 메시지를 받을 수 있도록 논리..
2020.04.10 -
카프카 - 00 - 개요
아래 책을 읽고 정리합니다. : http://www.yes24.com/Product/Goods/59789254 카프카, 데이터 플랫폼의 최강자 데이터 플랫폼의 핵심 컴포넌트로 각광받고 있는, 이벤트 기반 비동기 아키텍처를 위한 고가용성 실시간 분산 스트리밍 솔루션 카프카(Kafka)의 모든 것!국내 최대 모바일 플랫폼 회사인 카카오에서 `전사 공용 카프카` 서비스를 운영하고, 데이터 파이프라인과 빅데이터 플랫폼을 구축한 저자들의 풍부한 지식, 생생한 실전 경험, 노하우가 가득 담긴 책... www.yes24.com 엔드투엔드 아키텍쳐 문제점 엔드투엔드 연결은 빠른 전송 속도와 전송 결과를 신속하게 알수 있는 장점이 있는 반면 문제점이 많다. 트랜잭션 처리와 비동기 처리가 동시에 이뤄지지만 통합된 전송영역..
2020.04.10