mcpField
E
edge-computing

edge-computing

github.com/thebeardedbearsasクラウド・DevOps107113 回インストール今日更新
リポジトリ

edge-computing について

ユーザーに近い場所で処理を実行する開発者向けの、エッジコンピューティングのスキル資料です。複数のエッジプラットフォームに加え、地域別ルーティング、キャッシュ、状態を持つ接続のパターンを扱います。

主な機能

  1. 01Cloudflare Workers、Deno Deployなどの資料
  2. 02地域に応じたリクエストルーティング
  3. 03KVによるレスポンスのキャッシュ
  4. 04A/Bテストとボット検出のパターン
  5. 05Durable Objectsによる状態管理接続
  6. 06エッジ実行環境の制約の説明

活用シーン

  1. 01リクエストの国に応じたAPIの選択
  2. 02オリジン応答をキャッシュして再取得を削減
  3. 03ユーザーへのA/Bテストの割り当て
  4. 04WebSocketを使ったチャットセッションの構築

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/thebeardedbearsas/claude-craft --skill edge-computing

インストール後、Claude Code で/edge-computingを入力して読み込まれたか確認します。

詳細

エッジコンピューティング — Cloudflare Workers、Deno Deploy

ユーザーに近い場所で実行する、低レイテンシーのグローバルコンピューティングです。

プラットフォーム

Cloudflare Workers — V8、300+ POP、KV/Durable
Deno Deploy — Deno、30+ POP、TypeScript
Vercel Edge — V8、20+ POP、Next.js
Fastly Compute@Edge — WASM、70+ POP

ジオルーティング

export default {
  async fetch(req) {
    const api = req.cf.country === 'US' ? 'us-api' : 'eu-api';
    return fetch(`https://${api}.example.com${req.url}`);
  }
};

エッジキャッシュ(KV)

const key = new URL(req.url).pathname;
let cached = await env.KV.get(key);
if (cached) return new Response(cached, { headers: { 'X-Cache': 'HIT' } });
const resp = await fetch('https://origin.com' + key);
const body = await resp.text();
await env.KV.put(key, body, { expirationTtl: 3600 });
return new Response(body, { headers: { 'X-Cache': 'MISS' } });

A/B テスト

const variant = Math.random() < 0.5 ? 'A' : 'B';
resp.cookies.set('ab_test', variant);

ボット検出

if (/bot|crawler/i.test(req.headers.get('User-Agent'))) {
  return new Response('Forbidden', { status: 403 });
}

Durable Objects(ステートフル)

export class ChatRoom {
  async fetch(req) {
    const [client, server] = Object.values(new WebSocketPair());
    this.sessions.push(server); server.accept();
    server.on('message', e => this.broadcast(e.data));
    return new Response(null, { status: 101, webSocket: client });
  }
}

制約

CPU 10-50ms → 重い処理はオフロード
メモリ 128MB → ストリーミング
ファイルシステムなし → KV/R2


@.claude/skills/wasm/SKILL.md を参照

コメント