Edge Computing ve CDN: Kullanıcıya En Yakın Noktada İşlem
z
zafer ak
Yazar
31 October 2025
11 dakika okuma
388 görüntülenme
Cloudflare Workers, Vercel Edge Functions ve AWS Lambda@Edge ile düşük latency uygulamalar.
Edge Computing Nedir?
Edge computing, işlemleri kullanıcıya en yakın sunucularda gerçekleştirme yaklaşımıdır. Bu sayede latency dramatik şekilde düşer ve kullanıcı deneyimi iyileşir.
Edge vs Origin
- Origin Server: Merkezi sunucu, yüksek latency
- Edge Server: Kullanıcıya yakın, düşük latency
- Fark: 200ms vs 20ms response time
Cloudflare Workers
// worker.js
export default {
async fetch(request, env) {
const url = new URL(request.url);
// Geolocation bazlı routing
const country = request.cf?.country || "US";
// A/B Testing
const variant = Math.random() < 0.5 ? "A" : "B";
// Edge caching
const cacheKey = new Request(url.toString(), request);
const cache = caches.default;
let response = await cache.match(cacheKey);
if (!response) {
response = await fetch(request);
// Cache for 1 hour
response = new Response(response.body, response);
response.headers.set("Cache-Control", "s-maxage=3600");
await cache.put(cacheKey, response.clone());
}
return response;
},
};
Vercel Edge Functions
// middleware.ts
import { NextResponse } from "next/server";
import type { NextRequest } from "next/server";
export function middleware(request: NextRequest) {
// Geo-based redirect
const country = request.geo?.country || "US";
if (country === "TR" && !request.nextUrl.pathname.startsWith("/tr")) {
return NextResponse.redirect(new URL("/tr", request.url));
}
// Bot protection
const userAgent = request.headers.get("user-agent") || "";
if (isBot(userAgent)) {
return new NextResponse("Blocked", { status: 403 });
}
// Add security headers
const response = NextResponse.next();
response.headers.set("X-Frame-Options", "DENY");
response.headers.set("X-Content-Type-Options", "nosniff");
return response;
}
export const config = {
matcher: ["/((?!api|_next/static|favicon.ico).*)"],
};
AWS Lambda@Edge
// Origin Request Handler
exports.handler = async (event) => {
const request = event.Records[0].cf.request;
const headers = request.headers;
// Dynamic origin selection
const country = headers["cloudfront-viewer-country"]?.[0]?.value;
if (country === "TR") {
request.origin = {
custom: {
domainName: "api-eu.example.com",
port: 443,
protocol: "https",
},
};
}
// Add custom headers
headers["x-custom-header"] = [{ value: "edge-processed" }];
return request;
};
Edge Use Cases
- A/B Testing: Variant seçimini edge'de yap
- Authentication: JWT doğrulamayı edge'de yap
- Personalization: Geo-based içerik
- Image Optimization: Resim işleme edge'de
- API Gateway: Rate limiting, caching
CDN Optimizasyonu
# Cache-Control Headers
Cache-Control: public, max-age=31536000, immutable
# Vary Header
Vary: Accept-Encoding, Accept-Language
# Stale-While-Revalidate
Cache-Control: max-age=60, stale-while-revalidate=86400
Sonuç
Edge computing, global uygulamalar için olmazsa olmazdır. Cloudflare Workers veya Vercel Edge ile başlayın, sonuç şaşırtıcı olacak.