인터페이스는 현지화되어 있으며, Skill 소개와 설명 문서는 선택한 언어로 AI가 자동 번역합니다. 코드·명령어·경로·전문 용어는 원문을 유지하며 원작자 문서가 우선합니다.
Skills 둘러보기
배포 및 운영 · SKILL.md

edge-computing

edge-computing

Edge computing with Cloudflare Workers, Deno Deploy, Bun, Vercel Edge Functions, AWS Lambda@Edge, and edge databases (Turso, D1, DynamoDB Global Tables). Use when building low-latency edge applications, edge-side rendering, or globally distributed compute.

Independent GitHub snapshot · Automated classification · Original documentation governs

Skill 문서

GitHub

name: edge-computing description: Edge computing with Cloudflare Workers, Deno Deploy, Bun, Vercel Edge Functions, AWS Lambda@Edge, and edge databases (Turso, D1, DynamoDB Global Tables). Use when building low-latency edge applications, edge-side rendering, or globally distributed compute.

Edge Computing

Platforms

PlatformRuntimeCold StartLimits
Cloudflare WorkersV8 isolates~0ms128MB, 30s CPU
Deno DeployV8 isolates~0ms512MB, 50ms CPU
Vercel Edge FunctionsV8 isolates~0ms128MB, 25s
AWS Lambda@EdgeNode.js~100ms128MB, 5s (viewer)
BunJavaScriptCoreN/A (server)No hard limits

Cloudflare Workers

export default {
  async fetch(request: Request, env: Env): Promise<Response> {
    const url = new URL(request.url);

    // KV storage
    const cached = await env.KV.get(url.pathname);
    if (cached) return new Response(cached, { headers: { 'Cache-Control': 'max-age=60' } });

    // D1 database
    const { results } = await env.DB.prepare('SELECT * FROM users WHERE id = ?')
      .bind(url.searchParams.get('id'))
      .all();

    // Durable Objects for state
    const id = env.COUNTER.idFromName('global');
    const obj = env.COUNTER.get(id);
    const count = await obj.fetch(request);

    return new Response(JSON.stringify(results));
  }
};

Edge Databases

DatabaseTypeBest For
Cloudflare D1SQLiteWorkers-native, SQL at edge
TursolibSQL (SQLite)Multi-region replicas, embedded
Cloudflare KVKey-valueSimple caching, config
Durable ObjectsStatefulReal-time, coordination, counters
Upstash RedisRedisRate limiting, sessions at edge

Deno Deploy

Deno.serve(async (req: Request) => {
  const kv = await Deno.openKv();
  const url = new URL(req.url);

  if (req.method === "POST") {
    const body = await req.json();
    await kv.set(["items", crypto.randomUUID()], body);
    return new Response("Created", { status: 201 });
  }

  const entries = kv.list({ prefix: ["items"] });
  const items = [];
  for await (const entry of entries) items.push(entry.value);
  return Response.json(items);
});

Patterns

  • Edge-side rendering: SSR at the edge for <50ms TTFB globally
  • Smart routing: Geo-aware request routing based on request.cf.country
  • Edge caching: Cache API for fine-grained control, stale-while-revalidate
  • Rate limiting: Sliding window counters with Durable Objects or Upstash
  • A/B testing: Edge-side feature flags without origin round-trips
  • Image optimization: On-the-fly transforms at edge (Cloudflare Images, Imgproxy)

Constraints & Gotchas

  • No Node.js APIs (fs, net, etc.) in V8 isolate runtimes
  • No native modules or binaries (use WASM for compute-heavy work)
  • Limited CPU time per request — offload heavy work to queues
  • Cold starts are near-zero for isolates but real for Lambda@Edge
  • Database connections: use HTTP-based clients, not TCP connection pools
저장한 Skills