피드로 돌아가기
GeekNewsInfrastructure
원문 읽기
Obscura - 오픈소스 헤드리스 브라우저
V8 내장 및 CDP 구현을 통한 Chrome 대비 메모리 85% 절감 및 로드 속도 6배 개선
AI 요약
Context
기존 Headless Chrome 기반 스크래핑 아키텍처의 높은 메모리 점유율과 무거운 바이너리 크기로 인한 리소스 낭비 발생. 특히 대규모 병렬 크롤링 시 외부 의존성 및 무거운 런타임으로 인한 오버헤드가 병목 지점으로 작용.
Technical Solution
- V8 엔진 직접 내장을 통한 JavaScript 실행 환경 최적화 및 런타임 경량화
- Chrome DevTools Protocol(CDP) 표준 구현으로 Puppeteer 및 Playwright API 호환성 확보
- 단일 바이너리 배포 구조 설계를 통한 Chrome 및 Node.js 외부 의존성 제거
- Stealth 모드 및 Fingerprint 랜덤화 로직 적용으로 안티봇 탐지 메커니즘 우회
- 3,520개 도메인의 트래커 차단 필터를 통한 렌더링 파이프라인 최적화
- DOM to Markdown 변환 엔진 내장으로 데이터 추출 파이프라인 효율 증대
Impact
- 메모리 사용량: 200MB+에서 30MB로 감소
- 바이너리 크기: 300MB+에서 70MB로 축소
- 페이지 로드 속도: ~500ms에서 85ms로 개선
- 대기 시간: Chrome 대비 5~10배 단축
Key Takeaway
전체 브라우저 스택 대신 핵심 엔진(V8)과 통신 프로토콜(CDP)만 선택적으로 구현함으로써 기능적 동등성과 리소스 효율성을 동시에 달성한 설계 사례
실천 포인트
1. 대규모 스크래핑 설계 시 Full Browser 대신 CDP 호환 경량 엔진 검토
2. 안티봇 우회를 위한 WebDriver 은닉 및 GPU/Canvas 핑거프린트 변조 전략 적용
3. 렌더링 속도 향상을 위해 불필요한 분석/광고 도메인 화이트리스트 기반 차단 적용