SH380 Logo
2025-12-19

[Project Technical Report] News-Archive: Event-Driven 데이터 파이프라인 및 비동기 검색 엔진 구축

#report#Elasticsearch#docker

news-archive-BE repository

1. Project Abstract

Kafka 기반의 Event-Driven Architecture를 적용하여 뉴스 데이터 수집(Producer)과 색인(Consumer) 프로세스를 분리(Decoupling)한 분산 처리 시스템입니다. Spring WebFlux와 Elasticsearch Async Client를 도입해 전 구간 Non-blocking I/O를 구현하였으며, 이를 통해 단일 인스턴스 내에서 동시 요청 처리량(Throughput)을 극대화하고 시스템의 내결함성(Fault Tolerance)을 확보했습니다.

2. System Architecture

데이터 수집부터 조회까지 전 구간에 걸쳐 비동기/논블로킹 지향 설계를 적용함으로써, 시스템의 내결함성(Fault Tolerance)확장성(Scalability) 을 동시에 확보한 점에 있음.

image.png

A. Data Ingestion & Streaming: Decoupling 중심

B. Pipeline & Storage: 최적화된 인덱싱 전략

C. Application Architecture: Non-blocking 파이프라인

전 구간 비동기 파이프라인을 구축하여 I/O 대기 시간 동안 CPU 자원이 낭비되는 Thread Blocking 현상을 원천 제거함. 이를 통해 동시 요청이 급증하는 상황에서도 시스템 성능 저하를 최소화하고 높은 응답성을 유지함.

pipe-lining

D. Infrastructure: IaC 및 모니터링

3. Key Engineering Architecture

A. Decoupling Logic with Kafka (결합도 해소 및 내결함성 확보)

B. Non-blocking I/O Implementation (스레드 효율성 극대화)

C. Infrastructure as Code & Automation (운영 효율화)

4. Technical Deep Dive (Problem Solving)

Issue: 검색 정밀도와 성능 간의 Trade-off 최적화

Issue: 비동기 데이터 흐름의 예외 처리

Issue: 대용량 데이터 전처리 및 인덱싱 효율 최적화

목록으로 돌아가기