소비자들은 상품을 구매할 때 리뷰를 꼼꼼하게 살피지만, 방대한 양의 리뷰를 일일이 읽고 핵심을 파악하기란 쉽지 않습니다. 판매자 역시 시장의 흐름을 파악하고 마케팅 전략을 세우는 데 어려움을 겪곤 하죠. 저희 팀은 이러한 불편함을 해소하고자 "상품 리뷰 기반 실시간 감정 분석 및 요약 서비스"를 기획했습니다.
이 서비스는 사용자가 원하는 상품의 리뷰를 실시간으로 수집하고, LLM(대규모 언어 모델)을 활용해 감정 분석과 핵심 요약까지 제공하는 것을 목표로 합니다. 나아가 관심 상품의 가격 변동이나 리뷰 변화 추이까지 한눈에 파악할 수 있는 기능까지 포함하는 종합적인 서비스가 될 것입니다.
저희는 고가용성 서비스 운영 및 기존 pipeline을 고도화한다는 의미를 담은 HighPipe로 프로젝트 명을 정했습니다.
이번 포스팅에서는 HighPipe 프로젝트의 제품 요구사항 정의서(PRD)를 공유하며, 저희가 어떤 시스템을 구상하고 어떤 기술을 활용할 계획인지 자세히 설명해 드리겠습니다.
1. 프로젝트 개요: 핵심 목표와 기술 방향
저희 프로젝트의 핵심은 실시간성과 자동화입니다. 리뷰 데이터 수집부터 분석, 시각화에 이르는 전 과정을 자동화하고, 사용자가 요청하는 순간 실시간으로 정보를 제공하는 시스템을 구축할 계획입니다.
- LLM 기반의 심층 분석: 단순히 긍정/부정을 나누는 것을 넘어, LLM을 활용해 리뷰의 핵심을 정확하게 요약하고 세밀한 감정 분석을 제공합니다.
- 유연하고 확장 가능한 아키텍처: 각 모듈은 독립적으로 작동하도록 설계해 향후 기능 추가나 트래픽 증가에 유연하게 대응할 수 있는 마이크로서비스 아키텍처를 채택했습니다.
- 고가용성 인프라: 쿠버네티스(Kubernetes) 기반의 컨테이너 오케스트레이션을 통해 서비스의 안정성을 극대화하고, 특정 클라우드 벤더(AWS)에 종속되지 않는 유연한 환경을 구축합니다.
2. 주요 사용자 및 핵심 기능
이 서비스는 크게 세 가지 유형의 사용자에게 가치를 제공할 것입니다.
- 일반 소비자: 구매하려는 상품의 리뷰를 종합적으로 분석해 현명한 결정을 내릴 수 있도록 돕습니다.
- 소상공인/셀러: 자신의 상품과 경쟁 상품의 시장 반응을 파악해 마케팅 전략을 세울 수 있습니다.
- 시장 분석가: 특정 상품군에 대한 소비자 반응을 심층적으로 분석하는 데 활용할 수 있습니다.
이러한 사용자들을 위해 다음과 같은 핵심 기능들을 제공할 예정입니다.
웹 서비스 기능
- 실시간 리뷰 분석 및 시각화: 사용자가 특정 상품을 선택하면 리뷰 수집부터 감정 분석, 요약, 그리고 별점 분포와 같은 다양한 시각화 데이터를 실시간으로 제공합니다.
- 상품 검색 및 기록 관리: 검색어를 통해 원하는 상품을 쉽게 찾고, 최근 검색 기록을 관리해 편의성을 높입니다.
- 관심 상품 관리: 관심 상품을 등록하면 주기적으로 가격 변동, 리뷰 변화 등을 모니터링하고 알림을 받을 수 있습니다.
- 보안 및 성능: JWT 기반의 안전한 사용자 인증 시스템과 자동 스케일링, HTTPS 통신을 통해 빠르고 안정적인 서비스를 보장합니다.
3. 데이터 파이프라인: 실시간 처리와 배치 분석
저희 서비스의 핵심인 데이터 파이프라인은 사용자의 요청에 따라 즉각적으로 작동하는 실시간 파이프라인과 주기적으로 대량의 데이터를 처리하는 배치 파이프라인으로 나뉩니다.
3-1. 실시간 단일 상품 분석
사용자가 특정 상품의 리뷰 분석을 요청하면, 시스템은 즉시 다음 과정을 수행합니다.
A[사용자 요청] --> B[Airflow DAG 실행] --> C[크롤링 서버] --> D[Kafka Topic으로 데이터 전송]
D --> E[Spark/Flink 실시간 처리] --> F[LLM 분석 서버] --> G[Redshift & Web DB 저장] --> H[웹 시각화]
이 과정에서 Apache Kafka는 각 시스템 간의 비동기 통신을 담당하는 핵심 허브 역할을 수행합니다.
3-2. 관심 상품 주기적 배치 분석
관심 상품으로 등록된 상품들은 Airflow 스케줄러에 의해 정기적으로 리뷰, 가격, 별점 데이터를 수집합니다.
A[Airflow 스케줄러] --> B[크롤링 서버] --> C[S3에 데이터 적재]
C --> D[Spark 배치 처리] --> E[LLM 분석 서버 (온디맨드)] --> F[Redshift & Web DB 저장] --> G[웹 시각화: 추이 분석]
이 파이프라인은 대량의 데이터를 비용 효율적으로 처리하기 위해 필요 시에만 구동되는 Spot 인스턴스를 활용할 계획입니다.
4. 기술 스택 및 아키텍처
저희는 프로젝트의 목표를 달성하기 위해 다음과 같은 기술 스택을 활용할 예정입니다.
주요 기술 스택
- 프론트엔드: React 18, TypeScript, Tailwind CSS, Socket.IO
- 백엔드: Node.js Express, JWT 인증, WebSocket
- 데이터 파이프라인: Apache Kafka, Apache Airflow, Apache Spark Structured Streaming
- 데이터베이스: PostgreSQL (RDB), Redis (캐시), Amazon Redshift (데이터 웨어하우스), S3 (데이터 레이크)
- 인프라: Kubernetes (EKS), Docker, Terraform, Prometheus/Grafana (모니터링)
- 클라우드 서비스: AWS (Public Cloud), OpenStack (Private Cloud)
이러한 기술들을 기반으로 마이크로서비스 및 이벤트 기반 아키텍처를 구축하여 각 컴포넌트의 독립성과 확장성을 보장할 것입니다.
5. 보안 및 인프라 요구사항
사용자 데이터와 서비스의 안정성을 위해 보안과 인프라 구축에도 심혈을 기울일 계획입니다.
- 보안: HTTPS 통신, JWT 기반 인증, 비밀번호 단방향 암호화, AWS Secret Manager를 통한 민감 정보 관리 등 강력한 보안 정책을 적용합니다.
- 네트워크: Public/Private Subnet 분리를 통해 보안을 강화하고, AWS Application Load Balancer를 활용해 트래픽을 효율적으로 분산합니다.
- 인프라: Kubernetes 기반의 자동 스케일링을 통해 트래픽 변화에 유연하게 대응하고, Terraform을 활용한 IaC(Infrastructure as Code)로 인프라를 일관성 있게 관리합니다.
- 하이브리드 클라우드: Public Cloud와 Private Cloud(openstack)를 운영해, 역할에 맞는 컴퓨팅 환경을 자원 및 비용효율적으로 관리합니다.
마무리
작은 규모로 시작했던 DE Toy Project의 스케일이 상당히 커지면서 기대반 걱정반입니다. 운영 난이도가 있는 기술을 도입하는 만큼 기초학습 부터 활용까지 얼마나 걸릴지 모르겠습니다. 그래도 제가 원했던 data pipeline을 설계하고 구축하는 과정이 즐겁기때문에 쉽게 지칠것 같진 않습니다. 느리더라도 꾸준히 달려나가 보겠습니다!
'Project' 카테고리의 다른 글
[Project] DE Toy Project에서 DE Pro Project로 (0) | 2025.07.28 |
---|---|
[Project] DE Toy Project - 데이터 파이프라인 고도화를 위한 기능 설계 (7) | 2025.07.17 |
[Project] DE Toy Project - 팀 프로젝트 회고 및 고도화 계획 (0) | 2025.07.03 |
[Project] 실시간 쿠팡 리뷰 분석 with Hybrid Cloud (클라우드 아키텍쳐 솔루션 교육과정) (0) | 2025.07.01 |
[Project] DE Toy Project - 데이터 분석(분석 모델 테스트) (2) | 2025.06.25 |