Mục lục

Serverless vs Edge: Code chạy nhanh như chớp tại CDN

Phân biệt Node.js Server và Edge Runtime. Sử dụng Middleware để xử lý request tại điểm gần người dùng nhất (latency < 50ms).

Trong kỷ nguyên đám mây, vị trí vật lý của Server quyết định tốc độ ứng dụng của bạn.

1. Node.js (Serverless) vs Edge

Node.js (Vùng đệm - Region)

  • Vị trí: Nằm cố định tại 1 Data center (VD: Singapore, US East).
  • Đặc điểm: Đầy đủ tính năng Node.js, truy cập Database nhanh.
  • Vấn đề: Người dùng ở London truy cập Server Singapore sẽ bị trễ (Latency cao ~300ms).

Edge Runtime (CDN)

  • Vị trí: Phân tán tại hàng trăm điểm (PoP) trên toàn cầu.
  • Đặc điểm: JS môi trường giới hạn (V8 Isolate), khởi động tức thì (0ms Cold Start).
  • Lợi ích: Code chạy ngay bên cạnh người dùng. Latency < 50ms.

2. Middleware: Cánh cổng thần tốc

Middleware trong Next.js chạy trên Edge Runtime. Nó chặn request trước khi request chạm đến Server xử lý chính.

Ứng dụng thực tế:

  1. Authentication: Kiểm tra cookie đăng nhập ngay tại Edge. Nếu chưa login -> Redirect về /login ngay lập tức (không tốn công server render).
  2. Geolocation: Phát hiện user từ "Vietnam" -> Rewrite URL sang /vn/home.
  3. A/B Testing: Chia traffic 50% vào bản thiết kế A, 50% vào thiết kế B mà không bị nháy giao diện (Client-side flickering).
ts:
// middleware.ts
import { NextResponse } from 'next/server';
import type { NextRequest } from 'next/server';

// Chạy trên Edge: Siêu nhanh
export function middleware(request: NextRequest) {
  const country = request.geo?.country || 'US';

  // Điều hướng user VN về trang tiếng Việt
  if (country === 'VN') {
    return NextResponse.rewrite(new URL('/vn', request.url));
  }

  return NextResponse.next();
}

3. Khi nào chọn cái nào?

Tính năngNode.js (Serverless)Edge Runtime
Render trang phức tạp✅ (Tốt nhất)❌ (Hạn chế thư viện)
Truy cập Database✅ (Gần DB)⚠️ (Xa DB => Chậm)
Auth Check / Redirect❌ (Chậm hơn)✅ (Tuyệt vời)
Personalization (Cookie)⚠️✅ (Thao tác Header nhanh)

Kết luận

Hiệu năng không chỉ là code React chạy nhanh. Hiệu năng còn là Network Physics. Đưa logic đơn giản (Auth, Redirection) ra Edge để phản hồi tức thì. Giữ logic phức tạp (Business Logic, Database) ở Serverless Node.js. Sự kết hợp này tạo nên kiến trúc Hybrid nhanh nhất thế giới.

Quảng cáo
mdhorizontal