아카이브사이트맵
© 2026 Rayon. All rights reserved.
DevDay
아티클랭킹스페이스채용
컬리 favicon컬리

Kafka Streams 윈도우 도입으로 정산 시스템 안정성 확보!

by DD
2025-12-01
7개월 전
조회수 27

스파이크성 트래픽 처리를 위해 Kafka Streams 윈도우를 도입하여 데이터 집계를 수행함

데이터 생성 시간과 Kafka 발행 시간 불일치 문제를 TimestampExtractor로 해결함

더미 이벤트 발행을 통해 윈도우 닫힘 문제를 해결하고 정산 시스템 안정성을 확보함

TimestampExtractor를 활용한 데이터 정합성 확보

Kafka Streams는 기본적으로 Kafka 발행 시간을 기준으로 윈도우를 할당한다. 따라서 데이터 생성 시간과 발행 시간의 불일치로 인한 문제를 해결하기 위해 TimestampExtractor를 사용한다. 구체적으로, 이벤트 시간을 데이터 생성 시간으로 재정의하여 정산 데이터의 정확성을 보장한다.

더미 이벤트 주입을 통한 윈도우 닫힘 문제 해결

Kafka Streams에서 윈도우는 스트림 시간이 윈도우 종료 시점과 유예 시간을 모두 지나야 닫힌다. 따라서, 이벤트가 없는 경우 를 외부에서 주입하여 을 강제로 전진시킨다. 결과적으로, 을 보장하고 을 유지한다.

더미 이벤트
스트림 시간
윈도우 닫힘
정산 결과의 일관성

파티션별 더미 이벤트 발행의 중요성

Kafka Streams의 스트림 시간은 파티션별로 독립적으로 관리된다. 따라서, 모든 더미 이벤트의 키값이 같으면 한 파티션에서만 시간이 흐르는 문제가 발생한다. 파티션별 키값을 다르게 설정하거나, 파티션 번호를 직접 지정하여 각 파티션의 윈도우가 독립적으로 닫히도록 설계해야 한다.

Kafka Streams 윈도우 도입기
고급
아키텍처
Kafka Streams
Kafka
Go
Data
Backend
원문 읽기
원문 읽기

댓글 0

첫 번째 댓글을 남겨보세요!

관련 추천 글

올리브영, Kafka Streams로 품절 시스템 혁신!

올리브영 로고

토스증권, Kafka 로그 분석으로 MSA 가시성 확보!

토스 로고

올리브영, Kafka 메시지 중복/유실 문제 해결 노하우 공개!

올리브영 로고

컬리, Kafka Streams 도입으로 검색 시스템 안정성 확보!

컬리 로고

Spring Boot에서 Go로의 전환, 개발자는 무엇을 얻고 잃었을까?

레딧 로고

LINE Ads, Spark on Kubernetes 도입으로 데이터 파이프라인 성능 226% 향상!

라인 로고
컬리 favicon컬리
고급
아키텍처
Kafka Streams
Kafka
Go
Data
Backend

관련 추천 글

올리브영, Kafka Streams로 품절 시스템 혁신!

올리브영 로고

토스증권, Kafka 로그 분석으로 MSA 가시성 확보!

토스 로고

올리브영, Kafka 메시지 중복/유실 문제 해결 노하우 공개!

올리브영 로고