기술 탐구/kafka

개요 분산 환경에서 메시지를 주고받을 때는 메시지 중복이나 유실 같은 문제가 늘 발생 가능하다. 장애나 네트워크 이슈로 인해 메시지를 ‘한 번만’ 처리하는 것이 쉽지 않기 때문이다.  Kafka는 0.11 버전부터 Idempotent Producer(멱등성 프로듀서)와 Transactions(트랜잭션) 기능을 제공해 정확히 한 번 메시지를 처리할 수 있는 기반을 마련했다.  또한 Kafka Streams를 사용하면 이러한 기능을 간단히 활용해 End-to-end Exactly-once에 가까운 처리 흐름을 만들 수 있다. 이 글에서는 Exactly-once Semantics의 개념과 내부 원리를 살펴본 뒤, 운영 과정에서 발생할 수 있는 엣지 케이스와 그 방지 방법을 간단히 살펴보자.내용Exactly-o..
개요  ETL 파이프 라인을 운영하면서 카프카의 내부 기전을 자세히 모르고 있으면 장애 상황이 발생했을 때 대응하기가 어려움을 절실히 느꼈다. 이번 포스팅에서는 카프카의 주요 구성 요소중 하나인 프로듀서는 무엇인가? 내부적으로 어떻게 동작하는가? 에 대해 알아보도록 하자. 내용프로듀서란 무엇인가? 먼저 카프카 공식 문서에서는 프로듀서에 대해 하기와 같이 정의하고 있다.  A producer partitioner maps each message to a topic partition, and the producer sends a produce request to the leader of that partition. The partitioners shipped with Kafka guarantee that a..
지혜와 본질을 추구하는 자
'기술 탐구/kafka' 카테고리의 글 목록