피드로 돌아가기
Files SDK - 모든 blob 스토리지를 위한 단일 API
GeekNewsGeekNews
Infrastructure

Files SDK - 모든 blob 스토리지를 위한 단일 API

29종 Blob 스토리지 통합을 위한 단일 API 기반 추상화 레이어 설계

xguru2026년 6월 1일1intermediate

Context

S3, R2, GCS 등 다양한 Blob 스토리지 제공자별 서로 다른 API 규격으로 인한 벤더 종속성 발생. 개별 네이티브 SDK 도입 시 발생하는 코드 중복과 교체 비용의 증가를 해결하기 위한 통합 인터페이스 필요성 대두.

Technical Solution

  • 40개 이상의 어댑터를 단일 인터페이스로 캡슐화하여 벤더 독립적인 Write Once, Store Anywhere 구조 구현
  • Native SDK를 optional peer dependency로 설계하여 실제 사용 어댑터에 대해서만 의존성을 가지는 경량화 전략 채택
  • HTTP 206 Partial Content 매핑을 통한 Ranged Read 구현으로 Video Seek 및 다운로드 재개 기능 확보
  • Async Iterable 기반의 Listing 처리와 제한적 동시성 제어를 통한 대규모 파일 목록 순회 최적화
  • 병렬 Multipart Upload 로직을 통한 대용량 바디 및 무제한 스트림의 효율적 분할 전송 처리
  • Lifecycle Hook(onAction, onRetry, onError)을 생성자 수준에서 정의하여 모든 어댑터 작업에 공통 적용하는 일관된 예외 처리 구조

1. 다중 클라우드 전략 도입 시 개별 SDK 대신 어댑터 패턴 기반의 추상화 레이어 검토

2. 대용량 파일 처리 시 메모리 효율을 위한 Async Iterable 및 Multipart Upload 적용 여부 확인

3. 벤더 교체 비용 최소화를 위해 인터페이스 수준에서 공통 메서드(upload, download, list 등) 정의

원문 읽기