일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 카프카
- 디자인패턴
- kafka
- Push
- 페이스북 번역
- 카프카 트랜잭션
- notification
- php
- GCM
- 푸시
- nginx설정
- 도메인 주도 개발
- gcm 푸시 번역
- 푸시 번역
- 웹사이트 성능
- 웹사이트최적화기법
- Design Pattern
- 웹사이트성능
- git
- graphql
- ddd
- 성능
- APNS
- nginx설치
- GCM 번역
- JPA
- 자바스크립트
- Java
- nginx
- Today
- Total
목록Message Queue/Kafka (4)
간단한 개발관련 내용

SMT는 Single Message Transform의 약자로, Apache Kafka의 Kafka Connect 프레임워크에서 사용되는 단일 메시지 변환 기능입니다. SMT는 Kafka Connect가 데이터를 소스 커넥터를 통해 가져오거나 싱크 커넥터를 통해 내보낼 때, 각 개별 메시지에 대해 변환 또는 수정을 적용하는 간단한 처리 단계입니다.SMT의 역할Kafka Connect에서 SMT는 데이터 흐름의 중간에서 작동하며, 각 메시지에 대해 필터링, 변환, 필드 추가 또는 제거와 같은 작업을 수행할 수 있습니다.SMT를 사용하는 목적데이터 변환: 메시지의 포맷이나 필드를 변환합니다.데이터 정제: 불필요한 필드를 제거하거나 새로운 필드를 추가합니다.메타데이터 추가: 타임스탬프나 키 값 등 메타데이터를..

1. 카프카 트랜잭션의 목적Exactly-once semantics (EoS): 메시지를 정확히 한 번만 처리.프로듀서-컨슈머 간 원자적 작업:데이터 생산(프로듀서) 및 소비(컨슈머)를 원자적으로 연결.데이터 무결성:장애 발생 시 중복 메시지 방지 및 데이터 일관성 유지. 2. 카프카 트랜잭션의 주요 구성 요소transactional.id:트랜잭션을 구분하는 고유 ID.프로듀서는 transactional.id를 기반으로 트랜잭션 작업을 수행.Producer ID (PID):프로듀서 인스턴스에 부여되는 고유 ID.브로커는 PID를 통해 트랜잭션 상태를 관리.Epoch:트랜잭션 버전 관리.장애 복구 시 동일한 transactional.id로 중복 작업 방지(팬싱).트랜잭션 로그:브로커는 트랜잭션 상태(시작,..

카프카 트랜잭션의 팬싱(Fencing)은 트랜잭션 프로듀서 간의 중복 방지 및 일관성 보장 메커니즘입니다. 이 기능은 트랜잭션 ID(transactional.id)를 기반으로 작동하며, 특정 트랜잭션이 잘못되거나 장애 상황이 발생했을 때, 중복 트랜잭션 프로듀서가 메시지를 잘못 기록하는 것을 방지합니다.1. 팬싱이 필요한 이유트랜잭션 프로듀서는 상태를 유지하며 트랜잭션 ID(transactional.id)를 통해 클러스터와 연관됩니다. 이때 다음과 같은 상황에서 중복 프로듀서가 발생할 수 있습니다:프로듀서 장애로 인해 클러스터와 연결이 끊긴 경우.네트워크 지연 또는 일시적인 장애로 기존 프로듀서가 복구되지 못했는데, 동일한 transactional.id로 새 프로듀서가 시작된 경우.이 상황에서 두 프로듀..

Apache Kafka는 대규모 실시간 데이터 스트리밍을 처리하기 위한 오픈 소스 분산 스트리밍 플랫폼입니다. LinkedIn에서 처음 개발되었으며, 현재는 Apache Software Foundation의 프로젝트로 관리되고 있습니다. Kafka는 높은 처리량, 확장성, 내결함성 등의 강점을 바탕으로 다양한 산업 분야에서 실시간 데이터 파이프라인 구축과 스트리밍 애플리케이션 개발에 널리 사용되고 있습니다.Apache Kafka의 개요역사 및 배경: Kafka는 LinkedIn에서 로그 수집 및 실시간 데이터 처리 요구를 충족하기 위해 개발되었습니다. 이후 오픈 소스로 공개되어 Apache Software Foundation의 프로젝트로 성장하였으며, 현재는 다양한 기업과 개발자 커뮤니티에서 활발히 사용..