kafka 5

kafka - Debezium kafka Connector K8s에 설치 및 확인

오늘은 Kafka Connector 중 하나인 Debezium Kafka Connector를 한번 설치해보고 어디에다 써먹는지 알아보겠습니다. 우선 Kafka Connector는 크게 두종류로 나눕니다. 1. Kafka Source Connector Source 즉 원본 데이터가 있을때 해당 데이터를 kafka로 전송해 주는 역할을 합니다. ex) DB Souce Connector : DB의 변경사항을 Catch 하여 Kafka로 변경사항을 Message로 전송합니다. 2. Kafka Sync Connector Kafka에 있는 데이터를 어딘가에 전송하거나 실시간으로 가공하여 전송하는 기능을 합니다. ex) S3 Sync Connector : Kafka의 특정 Topic을 구독하여 메세지를 micro B..

kafka 2023.05.27

Kafka - UI (UI for Apache Kafka) K8s에 설치

우리가 Kafka를 사용할 때 CLI를 사용해서 Topic을 컨트롤 하거나 아니면 상태를 보거나 하는일을 하게되는데 이게 생각보다 많이 불편함을 느낄 수 있습니다. 회사에서 운영하고 있는 카프카 클러스터를 관리하는데 많이 유용하게 사용되고 있어서 한번 소개 해 봅니다. 우선 우리 회사는 kafka를 k8s위에서 관리하고 있고, 그렇기 때문에 이번에 Kafka UI를 올리는 과정을 소개함에 있어서 Yaml파일을 작성할겁니다. 준비물이 있습니다. 1. 운영중 혹은 개발용인 카프카가 있어야 합니다. 2. K8s가 있어야 합니다. 3. 개발 환경에 kubectl과 같은 k8s CLI Tool이 있어야 합니다. 첫번째 Kafka UI는 어떤걸 사용하는가 이 툴에 대해서 다른 툴과 비교한 내용이 있는데 참고 해보기..

kafka 2023.05.25

kafka - Topic Partition 개수 설계

카프카에 파티션 수가 늘어날 수록 처리량을 올라가지만, 그에 따른 반작용이 있다. 바로 Latency 증가하고 recovery time 이 늘어난다. 그래서 무작정 파티션 수를 늘리는 것보다, 적절한 목표 처리량을 설정하고 그에 맞춰 파티션 개수를 산정해야한다. 이어 기능상에 대해서도 고려를 해야한다. 카프카 파티션 수 설계 가이드 파티션 수를 증가하면 처리량이 높아짐 (분산효과) 프로듀서, 브로커 : write 처리량이 증가, hardware 자원 사용 증가 컨슈머 : 파티션 수만큼 병렬 쓰레드 구동해서 처리량 증가 목표 처리량 (t) 이 있다면, 파티션 개수를 정할 수 있음 단일 파티션 쓰기 속도 계산 (p) 단일 파티션 읽기 속도 계산 (c) 파티션 개수 = max (t/p, t/c) 고려사항 ba..

kafka 2021.07.21

Kafka 기본 명령어

카프카 구성후 사용하는 기본 명령어 List 1. Topic List 조회 kafka-topics --list --bootstrap-server :9092 2. 신규 Topic 생성 --> Streaming 처리중 Logstash 또는 Spark에 의해서 자동으로 Topic이 생성되나 토픽을 수동으로 생성할때 사용 kafka-topics --create --bootstrap-server :9092 --replication-factor --partitions --topic --> Replication : Cluster내부 복제 Topic의 개수 설정 Kafka 기본설정에서 Default 값 설정 가능 --> Partition : Topic 내부 Partition 초기 개수 설정 Kafka 기본설정에서 De..

kafka 2021.06.26

아파치 카프카 기본개념 (Apache Kafka)

1. 카프카 소개 아파치 카프카(Apache Kafka)는 분산형 메세지 큐 시스템으로 아파치재단 공식 사이트에서 카프카는 Apache Kafka® is an event streaming platform" "라고 표현하고 있다. 단어의 의미 그대로 이벤트를 스트리밍 서비스를 하기위한 프로그램이라고 보면 될것 같다. 먼저 구조는 다음과 같다. 모든 source system은 kafka로 데이터를 보내고 target은 Kafka로 데이터를 요청하여 받아갈 수 있다. 다시 말하면 target system 입장에서는 kafka에서 필요한 데이터를 가져가서 사용하는 형태로 되어있다. 추가로 실시간 데이터 처리에 용이하여 수많은 데이터(Event)를 처리해야 하는 대기업 및 여러 중소, 스타트업에서도 카프카의 실시..

kafka 2021.05.28