본문 바로가기
Frontend2026년 6월 3일3분 읽기

SvelteKit 3.0 + Cloudflare D1 — Edge SSR + Vector Search 사후

YS
김영삼
조회 104
SvelteKit 3.0 + Cloudflare D1 — Edge SSR + Vector Search 사후

핵심 요약

SvelteKit 3.0 + Cloudflare 통합 스택(D1·Vectorize·Workers AI). 마케팅 사이트 + 사내 RAG 검색봇 6주 운영. p99 SSR 80ms, 월 비용 $42 (전체 인프라).

1. SvelteKit 3.0 핵심 변화

  • Runes 5 stable — $state, $derived, $effect 정착
  • Async load — page.server.ts에서 await top-level
  • Form Actions — Server Action과 유사, type-safe
  • Bundle -28% — Svelte 6 compiler 최적화

2. Cloudflare 통합

// +page.server.ts
import { D1, VECTORIZE, AI } from '@/server/cf'
export const load = async ({ url, platform }) => {
  const q = url.searchParams.get('q')
  if (!q) return { results: [] }
  const embed = await platform.env.AI.run('@cf/baai/bge-large-en-v1.5', { text: q })
  const matches = await platform.env.VECTOR.query(embed.data[0], { topK: 10 })
  const ids = matches.matches.map(m => m.id).join(',')
  const docs = await platform.env.DB.prepare(`SELECT * FROM docs WHERE id IN (${ids})`).all()
  return { results: docs.results }
}

3. 성능 — 한국 사용자

지표
SSR p5028ms
SSR p9980ms
TTFB(한국)120ms
Vector search p5042ms

4. 비용

  • Workers AI: $14 (월 200K 검색)
  • Vectorize: $8 (180MB index)
  • D1: $4
  • Workers 요청: $16
  • Total: $42/월

5. 함정

  • D1 write QPS 한도 — 분당 500 이내, 글쓰기 많은 워크로드는 부적합
  • Vectorize metadata filter — 정확 매칭만, range·fuzzy 불가
  • Edge runtime → Workers — adapter-cloudflare 0.6+ 필수, 일부 Node API 미지원
  • Form Action — POST redirect 패턴, hydration mismatch 방지

댓글 0

아직 댓글이 없습니다.
Ctrl+Enter로 등록