피드로 돌아가기
Dev.toInfrastructure
원문 읽기
通过 OpenResty+ MinIO + weserv/images 搭建自己的阿里云OSS
OpenResty와 MinIO 기반의 Self-hosted 이미지 처리 OSS 아키텍처 구축
AI 요약
Context
상용 Cloud Storage의 이미지 처리 비용 및 종속성 문제를 해결하기 위한 대안 탐색. 단순 Object Storage를 넘어 실시간 이미지 변환 및 최적화 기능이 포함된 통합 게이트웨이 필요성 대두.
Technical Solution
- MinIO를 통한 S3 API 호환 Object Storage 계층 구축으로 데이터 영속성 확보
- weserv/images 기반의 독립적 Image Processing 서버를 통한 런타임 리사이징 및 포맷 변환 구현
- OpenResty의 Lua 스크립트를 활용한 Dynamic Upstream Routing 로직 설계
- 요청 URI의
x-image-process파라미터 존재 여부에 따른 MinIO와 weserv/images 간의 조건부 분기 처리 - Lua-based Query String 변환 로직을 통한 OSS 표준 파라미터 포맷의 weserv API 규격 매핑
- Reverse Proxy 구조를 통한 단일 엔드포인트 기반의 원본 저장소 및 처리 서버 통합 관리
실천 포인트
1. 이미지 처리 요청 빈도가 높을 경우 OpenResty 전면에 캐시 계층 추가 검토
2. weserv/images 운영 시 메모리 집약적 특성을 고려한 `--shm-size` 최적화 설정 확인
3. Lua 스크립트 내 정규식 처리 효율을 통한 요청 지연 시간 최소화 설계 적용