Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- ai agent
- 구현
- 완전탐색
- 아키텍쳐 개선
- 쿠키
- ipo 매매자동화
- 프로그래머스
- AWS
- 검색어 추천
- 결제서비스
- next-stock
- BFS
- docker
- 누적합
- 이분탐색
- jwt 표준
- piplining
- 레디스 동시성
- JPA
- 셀러리
- 백준
- gRPC
- 카카오
- 디버깅
- spring event
- 크롤링
- 추천 검색 기능
- 베타적락
- langgraph
- 몽고 인덱스
Archives
- Today
- Total
코딩관계론
크롤링 IP 제한 문제 해결: 서버리스 아키텍처 도입 본문
반응형
1. 문제 정의
처음 뉴스 데이터를 크롤링할 때, 하나의 고정 IP로 많은 요청을 보내면서 IP 제한이 걸려 원하는 데이터를 안정적으로 수집하지 못했습니다.
2. 시도된 해결 방법
2.1 프록시 서버 사용
- 배경: IP 제한 회피를 위한 프록시 서버 활용
- 문제점:
- 비용 부담: 안정적인 프록시 IP는 고비용
- 신뢰성 문제: 불안정한 연결로 인한 데이터 수집 불안정
2.2 네이버 API 활용
- 장점: 네이버 공식 API를 통한 안정적인 데이터 수집
- 단점:
- 날짜 제한: 특정 날짜 이후 뉴스는 제공되지 않음
- API 호출 제한: 호출 횟수 제한으로 완전한 데이터 확보 어려움
초기에는 네이버 API를 사용했으나, 장기적으로 데이터 부족 현상이 심각했습니다.
3. 서버리스 기반 크롤링 아키텍처 도입
기존 방식의 한계를 극복하기 위해 AWS 서버리스 솔루션을 활용한 새로운 아키텍처를 구축했습니다.
3.1 아키텍처 옵션 평가
① API Gateway + Lambda
- 장점: 동기식 처리로 간단한 구현과 실시간 처리 가능
- 단점: 높은 트래픽에서 성능 이슈 발생, 추가적인 메시지 유실 방지 필요
② SQS + Lambda
- 장점:
- 대량 트래픽 처리에 우수
- SQS가 메시지를 큐에 저장하여 유실 위험 최소화
- 비동기 처리로 높은 확장성 보장
- 선택 이유:
- 높은 트래픽 처리와 데이터 안정성이 중요하여 선택
- 메시지 유실 최소화 및 효율적 비동기 처리 가능
4. 최종 아키텍처 구성
- AWS SQS: 크롤링 요청을 큐에 저장
- AWS Lambda: 큐에서 메시지를 비동기 처리
Lambda의 역할
- 네이버 API 호출 및 크롤링 실행
- 데이터 처리 및 저장
결과
- 대량 트래픽 상황에서도 데이터 유실 없이 안정적 수집 가능
5. 결론
이번 프로젝트를 통해 프록시 IP → 네이버 API → 서버리스 아키텍처로 진화하며 크롤링 문제를 효과적으로 해결했습니다. 특히 SQS와 Lambda의 조합은 비용 효율적이고 안정성 및 확장성을 동시에 제공하는 최적의 선택이었습니다.
최종 결과
서버리스 아키텍처를 통해 기존의 403 Forbidden 오류 문제를 성공적으로 극복했습니다.
반응형
'개발 > Hot-Stock' 카테고리의 다른 글
컨슈머 랙을 줄이기 위해서 파티션을 늘렸더니 동시성 이슈가 발생해버렸다 (1) | 2025.02.06 |
---|---|
RAG를 활용한 주식 테마 관련 뉴스 필터링 (0) | 2025.01.29 |
주식 Insight 갱신 아키텍처 고도화: 가상 쓰레드부터 Kafka까지 (0) | 2025.01.21 |
비용을 줄이자 (0) | 2025.01.02 |
트리맵 갱신 최적화 (1) | 2024.12.19 |