Skip to content
EN

Edge Runtime

Коротко:

Edge Runtime — JavaScript runtime, запущенный на edge-локациях CDN (близко к пользователю). Не Node.js — это V8 Isolates (Cloudflare Workers, Vercel Edge), Deno Deploy или Fastly Compute@Edge. Cold start 0ms, latency <50ms глобально. Ограничения: subset Node API (нет fs, worker_threads), 128 MB RAM, 50ms CPU per request.

Ниже: подробности, пример, смежные термины, FAQ.

Проверить свой сайт →

Подробности

  • Cloudflare Workers: 300+ locations, V8 Isolates (не containers)
  • Vercel Edge: на Cloudflare бэке, Next.js integration
  • Deno Deploy: V8 + native Deno APIs
  • Fastly Compute@Edge: WASM-based, любой язык
  • Limits: 50ms CPU, 128 MB RAM, no native modules, limited fs

Пример

// Next.js Edge Function
export const runtime = 'edge';

export async function GET(request) {
  const { searchParams } = new URL(request.url);
  const city = searchParams.get('city');
  // ~10ms latency globally
  const weather = await fetch(`https://api.weather.gov/`);
  return Response.json(await weather.json());
}

Смежные термины

Что такое Edge Runtime и его преимущества

Edge Runtime — это среда выполнения JavaScript, которая размещается на краевых серверах CDN (Content Delivery Network). Это позволяет выполнять код ближе к пользователю, минимизируя задержки и улучшая производительность веб-приложений. С помощью Edge Runtime разработчики могут обрабатывать запросы и генерировать динамический контент на лету, что приводит к значительному снижению времени отклика и повышению качества пользовательского опыта.

Как настроить Edge Runtime для вашего проекта

Настройка Edge Runtime может варьироваться в зависимости от используемого CDN. Рассмотрим пример настройки на Vercel, популярной платформе для хостинга с поддержкой Edge Functions. Для начала необходимо создать проект и установить Vercel CLI.

  1. npm install -g vercel
  2. vercel login

После этого создайте файл api/edge.js, в котором будет размещен ваш код:

export default async function handler(req, res) {
res.setHeader('Content-Type', 'application/json');
res.end(JSON.stringify({ message: 'Hello from Edge Runtime!' }));
}

Теперь вы можете развернуть проект с помощью команды vercel. После этого ваш код будет доступен по URL, сгенерированному Vercel, и выполнится на краевом сервере.

Преимущества использования Edge Runtime

Edge Runtime предоставляет множество преимуществ для разработчиков и пользователей. Вот некоторые из них:

  • Улучшенная производительность: Код исполняется ближе к пользователю, что сокращает время загрузки страниц.
  • Масштабируемость: Благодаря распределенной архитектуре CDN, приложения могут обрабатывать большое количество запросов без потери производительности.
  • Безопасность: Edge Runtime позволяет реализовывать функции безопасности, такие как фильтрация трафика и защита от DDoS-атак, на уровне CDN.

Эти аспекты делают Edge Runtime незаменимым инструментом для современных веб-приложений, требующих высокой скорости и надежности.

Реальные примеры использования Edge Runtime

Рассмотрим несколько реальных примеров использования Edge Runtime в веб-проектах. Например, компания Netflix использует Edge Runtime для обработки запросов пользователей и предоставления рекомендаций на основе их предпочтений. Это позволяет им предлагать контент быстрее и более точно, основываясь на данных о пользователях.

Другим примером может служить e-commerce платформа, которая использует Edge Runtime для динамического формирования страниц продуктов в зависимости от местоположения пользователя и текущих акций. Используя Edge Runtime, они могут обеспечить быструю загрузку страниц и актуальную информацию о наличии товаров.

В обоих случаях, Edge Runtime сыграл ключевую роль в оптимизации производительности и улучшении взаимодействия с клиентами.

Больше по теме

Часто задаваемые вопросы

Edge vs serverless?

Serverless (Lambda): Node.js, 1 region, 100-500ms cold start. Edge: V8 isolates, 300+ regions, 0ms cold start. Edge лучше для latency-critical, Lambda для heavy compute.

Что нельзя в edge?

Native modules (sharp, bcrypt), unbounded file I/O, long-running tasks (>50ms CPU). Используйте serverless Lambda для этих задач.

Подходит для API?

Да для simple APIs (auth middleware, redirects, geolocation). Для complex DB operations — регулярный Node.js lambda.

Запустить инструмент, который описан в этой статье

Бесплатный тариф — 10 мониторов, проверки каждые 5 мин, без карты. Платные тарифы — интервал от 1 минуты и проверки из нескольких регионов.