반응형

Kafka 13

Kafka Schema Registry 구축 - EKS에 Apicurio Registry 설치하기

Kafka 스키마 레지스트리란 무엇인가?앞선 글에서 스키마 레지스트리가 무엇인지, 왜 필요한지 살펴보았습니다.이번 글에서는 실제로 Apicurio Registry를 EKS 환경에 설치하고 내부적으로 어떻게 동작이 되는지 알아보겠습니다.사전 준비EKS 클러스터ArgoCD 설치 및 Git 레포지터리 연결Kafka 클러스터 (Strimzi 등)1. Apicurio Operator 설치Apicurio Registry는 Kubernetes Operator 방식으로 동작합니다.Operator를 먼저 설치해야 이후 Registry 인스턴스를 CRD로 생성할 수 있습니다.1-1. Operator YAML 준비저는 공식 Github에서 제공하는 apicurio-registry-operator-3.1.7.yaml 다운로드..

Kafka 2026.02.27

Kafka 스키마 레지스트리란 무엇인가?

스키마(Schema) 란?데이터의 구조(형식)를 정의한 설계도즉,어떤 필드가 있는지각 필드의 타입이 무엇인지필수인지 선택인지기본값은 무엇인지를 정의한 문서Kafka 스키마 레지스트리(Schema Registry) 란?Kafka는 원래 메시지 바이트 배열 만 저장/전달 합니다.즉, Kafka 자체는 “이 데이터가 어떤 구조인지(필드/타입)”을 모릅니다.그래서 스키마 레지스트리는 Kafka 메시지의 데이터 구조(스키마)를 중앙에서:저장(버전 관리)호환성 검사(Compatibility)조회(역 직렬화에 사용)해주는 메타 데이터 서버 입니다.핵심: 데이터는 Kafka에 저장되고, 스키마는 Registry에 저장사용 이유스키마 변경으로 인한 장애를 막기 위해예를 들어) Producer가 갑자기 필드 타입을 바꾸거..

Kafka 2026.02.26

Strimzi Kafka + Debezium으로 MySQL CDC 구축하기

CDC 사용하는 이유CDC는 Change Data Capture 의 약자 입니다. 서비스를 운영하다 보면 DB의 변경사항을 다른 시스템에 전파해야 하는 상황이 생깁니다. 흔히 애플리케이션 코드에서 직접 이벤트를 발행하는 방식을 쓰지만, 이 경우 DB 저장과 이벤트 발행이 동시에 성공해야 한다는 부담이 있습니다. 이 문제를 해결하는 방법 중 하나가 CDC(Change Data Capture) 입니다. DB에 직접 쓰기만 하면 변경사항이 자동으로 이벤트로 발행되기 때문에, 애플리케이션 코드를 건드릴 필요가 없습니다. 이번 글에서는 Kubernetes 환경에서 Strimzi Kafka와 Debezium을 사용해 MySQL의 변경사항을 실시간으로 Kafka 토픽으로 스트리밍하는 방법을 정리해보겠습니다.사전 준비..

Kafka 2026.02.24

Strimzi Kafka 모니터링 구축 가이드: Prometheus + Grafana로 메트릭 수집하기

이번엔 Strimzi Kafka 를 설치하고 모니터링 하는 방법에 대해 알아보겠습니다.먼저 Strimzi Kafka가 설치가 되어있어야 합니다.설치가이드jmxPrometheusExporter 설정먼저 jmxPrometheusExporter 설정을 해주어야 합니다.앞서 설치가이드에서 설치를 할 때 정의해둔 Kafka 리소스 YAML 파일을 살펴보겠습니다.apiVersion: kafka.strimzi.io/v1beta2kind: Kafkametadata: name: kafka-cluster namespace: kafka-operator annotations: strimzi.io/node-pools: enabled strimzi.io/kraft: enabledspec: kafka: ve..

Kafka 2025.12.11

Strimzi Kafka mTLS 적용 알아보기

Kafka 클러스터에 엑세스 보안이 필요한 이유Kafka는 단순 메시지 큐가 아니라 실제 운영 환경의 모든 주요 데이터 흐름이 지나가는 곳 입니다.예시를 들자면,사용자 로그인 이벤트결제 데이터주문 상태 정보로그/모니터링 데이터내부 서비스 간 API 결과그런데, Kafka 클러스터 접근에 아무런 조지가 없이 열려있다면 회사의 실시간 비즈니스 데이터에 쉽게 접근할 수 있게됩니다.이렇게 되면 누구나 Producer/Consumer 가 되어버리면 데이터가 조작이 가능해져 서비스가 위험해질 수 있습니다.그래서 이번엔 Strimzi Kafka에서 mTLS 인증을 사용해보는 방법에 대해 알아보겠습니다.mTLS(mutual TLS) 란?mTLS는 서버와 클라이언트가 서로 인증서를 통해 상대의 신원을 확인하는 보안 통신..

Kafka 2025.12.03

AWS MSK 메트릭 수집 및 모니터링

MSK도 Prometheus와 연결을 하여 메트릭 수집을 할 수 있습니다. 그러기 위해선 먼저 해주어야 할 과정이 있습니다.MSK 모니터링 편집에서 오픈 모니터링 Enable 입니다. AWS 콘솔에 접속해서 MSK 클러스터에 들어 간 후, 우측 상단의 작업 박스를 클릭하고 모니터링 편집 을 클릭해서,아래와 같이 오픈 모니터링 활성화를 해주면 됩니다.그리고 이제 Prometheus 설정에 아래와 같이 추가를 해준 후 적용을 해주면 됩니다.(저 같은 경우 Helm 차트를 이용하여 kube-prometheus-stack을 설치하여 values.yaml 파일에서 설정을 변경해주었습니다.)prometheus: prometheusSpec: additionalScrapeConfigs: - job_na..

Kafka 2025.11.06

Kafka 리플리케이션 완벽 이해: 동작 원리부터 토픽 설정까지

카프카는 브로커 한두 대에서 장애가 발생하더라도 중앙 데이터 허브로서 안정적인 서비스가 운영될 수 있도록 구상되었습니다.이 때 안정성 확보를 위해 카프카 내부에서는 리플리케이션 이라는 동작을 하게 됩니다.리플리케이션 동작 개요카프카에서 데이터는 토픽(topic) → 파티션(partition) 단위로 저장됩니다.각 파티션은 하나의 리더(Leader)와 여러 개의 팔로워(Follower) 복제본으로 구성됩니다.리더(Leader): 실제로 프로듀서와 컨슈머가 읽고 쓰는 주체팔로워(Follower): 리더의 데이터를 동기화(Replication) 하는 복제본, 리더가 장애나면 팔로워 중 하나가 리더로 승격 하게 됩니다.리더와 팔로워가 하는 역할에 대해 좀 더 자세히 알아보면,카프카는 모두 동일한 리플리케이션들을..

Kafka 2025.10.31

카프카 프로듀서 구조와 동작 원리

이번 글에서는 메세지를 전달하는 프로듀서에 대해 자세히 알아보도록 하겠습니다.프로듀서 디자인먼저 프로듀서가 어떻게 디자인 되어있는지 살펴보겠습니다.출처 https://dzone.com/articles/take-a-deep-dive-into-kafka-producer-api위 그림은 프로듀서의 전체 흐름을 나타낸 그림 입니다.ProducerRecord먼저 ProducerRecord라고 표시된 부분을 보면, 카프카로 전송하기 위한 실제 데이터 입니다.레코드는 아래와 같은 정보로 구성됩니다.토픽: 데이터를 보낼 카프카 토픽 이름 (필수)파티션: 토픽의 파티션 번호 지정 가능, 다만 필수는 아니여서 지정 안해두면 카프카가 자동 결정키: 파티션 선택에 영향을 주는 값 (선택)밸류: 실제 전송할 메시지 데이터 (필..

Kafka 2025.10.24

Kafka는 왜 이렇게 빠르고 안정적일까? — 높은 처리량과 안정성을 만드는 핵심 원리

인터넷에 카프카를 검색해보면, 높은 처리량빠른 응답 속도안정성위와 같은 특징을 가진 분산형 스트리밍 플랫폼 이라는 설명을 보셧을 겁니다.이번 글에서는 왜 카프카가 높은 처리량과 안정성을 지니게 되었는지 보도록 하겠습니다.카프카의 고성능과 안정성을 만드는 핵심 기술들이제부터 설명드리는 내용을 종합해보면, 왜 카프카가 높은 처리량과 안정성을 지니게 되었는지 어느정도 감이 오실 겁니다.분산 시스템분산 시스템은 네트워크상에서 연결된 서버들의 그룹을 말하며, 단일 시스템이 갖지 못한 높은 성능을 목표로 합니다.또한 성능이 높은 것 뿐 아니라 특정 서버에서 장애가 발생했을 때, 그룹 내 다른 서버가 장애가 발생한 서버 대신 처리를 해줄 수 있으므로 장애 대응도 탁월 합니다.이러한 내용을 말한 이유는, 카프카 역시도..

Kafka 2025.10.24

Kafka 저장 구조의 모든 것: Partition, Replication, Segment

카프카는 데이터를 받아서 전달하는 데이터 버스의 역할을 합니다.카프카에서 데이터(메시지)를 만들어서 주느 쪽을 프로듀서(Producer),데이터(메시지)를 소비하는 쪽을 컨슈머(Consumer) 라고 합니다.그리고 주키퍼는 카프카의 정상 동작을 보장하기 위해 메타데이터(metadata)를 관리하는 코디네이터라 할 수 있습니다.리플리케이션리플리케이션(replication)이란?각 메시지들을 여러 개로 복제해서 카프카 클러스터 내 브로커들에 분산시키는 동작을 의미합니다.이러한 동작 덕분에 브로커 한개가 종료되더라도 다른 브로커가 살아있다면 카프카는 안정성을 유지할 수 있습니다.실제 동작을 보면, 카프카에서 토픽이 리플리케이션이 되는 것이 아닌, 토픽의 파티션이 리플리케이션이 됩니다.그래서, 리플리케이션 팩터..

Kafka 2025.10.24
반응형