pile·
인프라 / DevOps·vercel-blogVercel Blog·

Vercel Blob, 프라이빗 스토리지에서 일관된 읽기 지원

Vercel Blob 이 프라이빗 스토리지에서 쓰기 직후 읽기 일관성(read-after-write consistency)을 보장하는 `useCache: false` 옵션을 지원한다. 기존에는 CDN 캐시 때문에 기존 경로를 덮어쓴 Blob 이 최대 60초간 구버전으로 반환될 수 있었는데, 이 옵션으로 캐시를 완전히 우회해 오리진에서 직접 읽을 수 있게 됐다.

핵심 포인트
  • 새 경로(fresh pathname)에 쓴 Blob 은 캐시 항목이 없어 옵션 없이도 즉시 최신 데이터가 반환된다.
  • 기존 경로를 덮어쓴 경우 CDN 캐시로 인해 최대 60초간 이전 버전이 노출될 수 있다.
  • TypeScript SDK(`@vercel/blob@2.6.1`)에서 `useCache: false` 옵션, curl/직접 API 호출에서는 `cache=0` 쿼리 파라미터로 캐시를 우회한다.
  • 캐시 우회 읽기는 Fast Origin Transfer 로 처리되어 추가 비용이 발생한다.
  • AI 에이전트 메모리 파일, 세션 기록, 스케줄드 리포트 등 일관성이 중요한 시나리오에 적합하다.
상세 정리
  • 기존 동작: Vercel Blob 프라이빗 스토리지는 CDN 캐싱을 기본 적용해 읽기 성능을 높이지만, Blob 을 덮어쓸 경우 최대 60초간 구버전이 반환되는 일관성 문제가 있었다.
  • 새 기능: SDK `2.6.1` 이상에서 읽기 함수에 `{ useCache: false }` 옵션 추가 — 오리진에서 직접 읽어 캐시를 완전 우회한다.
  • TypeScript 예제: `const blob = await head(url, { useCache: false });` 형태로 사용한다.
  • curl/API 직접 호출: URL 에 `?cache=0` 쿼리 파라미터를 추가하면 HTTP 클라이언트에서도 동일한 효과를 낼 수 있다.
  • 신규 경로 vs 덮어쓰기: 완전히 새 경로는 캐시 항목이 없어 자동으로 일관된 읽기가 가능하고, 기존 경로를 덮어쓸 때만 옵션이 필요하다.
  • 비용: 캐시 우회는 Fast Origin Transfer 로 처리되어 일반 캐시 읽기보다 비용이 높다 — 일관성이 반드시 필요한 경우에만 사용을 권장한다.
  • 활용 시나리오: AI 에이전트가 갱신하는 메모리/컨텍스트 파일, 사용자 세션 기록, 크론 작업이 덮어쓰는 리포트 등 쓰기 직후 정확한 데이터 조회가 필요한 케이스에 적합하다.
왜 읽나Vercel Blob 으로 상태 저장이나 파일 공유를 구현하는 개발자가 읽기 일관성 보장 방법과 비용 트레이드오프를 파악하는 데 유용하다.
vercel-blog
Vercel Blog 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 인프라 / DevOps·spotify-engSpotify Engineering·

    Spotify의 Kong AI 게이트웨이 도입기: 생성형 AI 인프라 확장

    Spotify가 7,000명 이상의 직원에게 생성형 AI를 제공하기 위해 Kong AI 게이트웨이를 도입한 과정을 다룬다. 각 팀이 OpenAI, Vertex AI, 자체 Hendrix 모델을 직접 통합하면서 인증, 비용 추적, 모니터링 중복 문제가 심화됐고, 중앙화된 AI 게이트웨이로 이를 해결했다. 현재 1,000개 이상의 내부 서비스가 연결되어 있고, 팀이 하루 만에 AI 기능을 프로덕션에 배포할 수 있게 됐다.

    #kubernetes#llm#observability+2
  2. 인프라 / DevOps·cloudflare-blogCloudflare Blog·

    퍼블릭 클라우드 리전을 위한 Smart Tiered Cache 개선

    Cloudflare Smart Tiered Cache가 AWS/GCP/Azure/Oracle Cloud 같은 퍼블릭 클라우드 오리진에서 제대로 동작하지 못했던 원인과 해결책을 다룬다. 애니캐스트 아키텍처로 인해 캐시 미스 경로가 비효율적으로 라우팅되는 "헤어피닝" 현상을 사용자가 클라우드 리전을 직접 힌트로 지정하는 방식으로 해결했다.

    #cdn#caching#anycast+2