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

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

by DD
2022-08-24
3년 전
조회수 4

Kafka Streams를 활용하여 검색 인덱싱 파이프라인을 개선하고, 레디스 기반의 기존 방식보다 효율적인 데이터 병합을 구현함

스프링 카프카를 통해 Kafka Streams의 생명주기를 관리하고, 어플리케이션 상태 모니터링 기능을 추가함

오류 발생 시 어플리케이션 상태 미반영 문제를 해결하기 위해 헬스 체크를 도입하여 시스템 안정성을 확보함

Kafka Streams를 활용한 데이터 병합

Kafka Streams는 스트림 처리를 위한 강력한 라이브러리로, 여러 토픽의 데이터를 손쉽게 병합할 수 있다. 구체적으로 Stream DSL을 사용하여 자바 코드로 파이프라인을 구축하고, 레디스를 사용하던 기존 방식보다 간결하게 구현했다. 따라서 데이터 처리 속도 향상과 코드 복잡도 감소를 달성했다.

스프링 카프카를 통한 생명 주기 관리

스프링 프레임워크를 통해 Kafka Streams의 생명 주기를 관리하면, 개발자는 비즈니스 로직에 집중할 수 있다. @EnableKafkaStreams 어노테이션을 사용하여 KafkaStreams 객체를 주입받고, 스프링의 헬스 체크 기능을 통해 상태를 모니터링한다. 결과적으로 시스템 안정성을 높이고, 장애 대응 시간을 단축했다.

헬스 체크를 통한 시스템 가시성 확보

Kafka Streams의 오류 발생 시 어플리케이션 상태 미반영 문제를 해결하기 위해 헬스 체크를 도입했다. 구체적으로 HealthIndicator를 구현하여 KafkaStreams의 상태를 주기적으로 확인하고, 문제가 발생하면 알림을 보낸다. 따라서 장애 감지 및 대응 속도를 높여 서비스 안정성을 확보했다.

컬리 검색이 카프카를 들여다본 이야기 2
중급
아키텍처
Kafka
Spring
Kafka Streams
Java
Data
Backend
원문 읽기
원문 읽기

댓글 0

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

관련 추천 글

Spring Boot 4.1 출시 후 최신 Spring 생태계 소식 모음!

스프링 로고

스프링 카프카(Spring Kafka) 4.1.0-RC1, 4.0.5, 3.3.15 릴리즈

스프링 로고

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

올리브영 로고

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

컬리 로고

백엔드 개발, 이제 시스템의 깊이를 파고들다!

레딧 로고

무신사 개발팀, 대규모 이벤트 성공 비결 공개!

무신사 로고
컬리 favicon컬리
중급
아키텍처
Kafka
Spring
Kafka Streams
Java
Data
Backend

관련 추천 글

Spring Boot 4.1 출시 후 최신 Spring 생태계 소식 모음!

스프링 로고

스프링 카프카(Spring Kafka) 4.1.0-RC1, 4.0.5, 3.3.15 릴리즈

스프링 로고

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

올리브영 로고