DevOps/Kafka 4

[Kafka] Dead Letter Queue

1. Dead Letter Queue란?메시지 브로커가 전달에 실패한 메시지를 별도로 보관하는 백업 저장소✅ 소비자가 처리 중 메시지 처리가 실패될 수 있음✅ 견고하고 장애에 강한 데이터 파이프라인을 구축할 때 중요한 요소 이점목적설명Fault Tolerance메시지 처리 중 오류가 발생해도 전체 시스템에 영향을 주지 않도록 함Data Integrity처리할 수 없는 메시지를 안전하게 저장해 데이터 손실을 방지Recovery원인 해결 후 DLQ에 쌓인 메시지를 선택적으로 재처리해 데이터/서비스 복구 가능Monitoring & Troubleshooting실패한 메시지를 추적·분석하여 오류 원인 파악 및 디버깅 용이Scalability실패한 메시지를 DLQ로 분리하여 메인 처리 흐름의 적체(Backlog) ..

DevOps/Kafka 2025.08.15

[Debezium] 1. Introduction

다양한 데이터베이스의 CDC를 위한 오픈소스 커넥터 모음 (Kafka Connect 위에서 동작함)각 데이터베이스의 로그를 기반으로 한 변경 스트림을 읽음 장점항목설명예완전성모든 데이터 변경을 누락 없이 캡처 낮은 지연폴링 대비 매우 낮은 레이턴시MySQL·Postgres 사례: ms 수준스키마 변경 불필요Last Updated 같은 컬럼 추가 불필요 삭제 캡처DELETE 이벤트도 포함 메타데이터 제공DB/설정에 따라 포함 가능이전 레코드 상태, 트랜잭션 ID, 유발 쿼리 등 1. ArchitectureKafka Connect 위에서 동작하는 소스 커넥터로 배포됨구분내용가능 여부/비고토픽 네이밍기본은 서버/DB/테이블 기반 토픽명 생성✅ SMT로 패턴 치환/이름 변경 가능토픽 라우팅 1:1한 테이블 → ..

DevOps/Kafka 2025.08.11

[MongoDB Kafka Connector] 1. Kafka Connector

1. Kafka ConnectorApache Kafka의 하위 구성 요소Kafka를 데이터 저장소와 연결해줌 2. Install the MongoDB Kafka ConnectorKafka plugins 디렉토리에 복사커넥터 플러그인(JAR 파일들)을 plugin.path로 지정된 디렉토리에서 찾음예: plugin.path=/usr/local/share/kafka/plugins 라고 설정하면,/usr/local/share/kafka/plugins 폴더 안에 MongoDB Kafka Connector JAR을 넣어야 함.이렇게 하면 Kafka Connect 실행 시 해당 디렉토리에서 커넥터 클래스를 자동으로 로딩합니다. 분산 모드(Distributed Worker)Kafka Connect는 Standalon..

DevOps/Kafka 2025.08.10

[Kafka] 9. Kafka Streams

3. Developer Guide항목명간단 설명Writing a Streams Application스트림 처리 로직을 작성하고 실행하는 기본 구조 제공 (토폴로지 정의)Configuring a Streams Application설정 지정 (브로커 주소, 앱 ID, 직렬화 방식 등)Streams DSL고수준 연산을 위한 간편 API (map, filter 등)Processor API사용자 정의 처리 로직을 위한 저수준 APINaming OperatorsDSL 연산자에 이름 붙이기 (디버깅/모니터링 용이)Data Types & Serialization메시지 직렬화/역직렬화 방식 정의TestingTopologyTestDriver로 로컬 테스트 가능Interactive Queries상태 저장소 데이터를 외부에서..

DevOps/Kafka 2025.05.12