피드로 돌아가기
Dev.toInfrastructure
원문 읽기
Chromium 기반 PDF 생성의 인프라 복잡도 제거를 통한 시스템 안정성 확보
Why PDF generation breaks in production (and why localhost lies)
AI 요약
Context
HTML-to-PDF 변환 시 브라우저 렌더러를 거치는 구조적 특성으로 인해 메모리 스파이크와 프로세스 관리 부담이 가중되는 한계 발생. 단순 라이브러리 호출이 아닌 브라우저 자동화 시스템 운영에 따른 인프라 유지보수 비용 증가 및 보안 취약점 노출 위험 상존.
Technical Solution
- Browser Automation 의존성을 제거하여 메모리 누수 및 프로세스 좀비화 문제 원천 차단
- HTML 렌더링과 PDF 생성 단계를 분리하여 CSS Page Break 및 폰트 렌더링 불일치 해결
- 서버리스 기반의 외부 API 서비스(PDFPipe) 채택을 통한 Worker 관리 및 Queue 설계 부담 제거
- 격리된 실행 환경 구축을 통한 사용자 입력 콘텐츠의 내부 네트워크 접근 및 파일 시스템 접근 차단
- 인프라 관리 포인트 제거를 통해 비즈니스 로직 집중 환경 조성
실천 포인트
- PDF 생성 시 브라우저 프로세스 생명주기 관리 방안 검토 - 대량 문서 생성 요청에 대비한 Queue 및 Worker 기반의 비동기 처리 설계 적용 - 렌더링 엔진의 샌드박스 설정을 통한 SSR-based SSR/PDF 생성 시 보안 취약점 점검 - Print CSS 최적화를 통한 페이지 분할 및 헤더/푸터 렌더링 정밀도 검증