Cloudflare Workers — serverless edge computing платформа. JavaScript (или любой язык, компилируемый в WebAssembly) запускается непосредственно на серверах Cloudflare CDN — рядом с конечным пользователем. Время исполнения: микросекунды. Cold start: практически отсутствует (V8 Isolates, не контейнеры).
Пример Worker
export default {
async fetch(request) {
const url = new URL(request.url);
// Редирект по геолокации
const country = request.cf.country;
if (country === "RU") {
return Response.redirect("https://ru.example.com" + url.pathname);
}
// Модификация заголовков
const response = await fetch(request);
const newHeaders = new Headers(response.headers);
newHeaders.set("X-Custom-Header", "value");
return new Response(response.body, { headers: newHeaders });
}
}
Типовые применения
- A/B тестирование без изменения origin-сервера.
- Geo-based редиректы.
- Модификация запросов/ответов (заголовки, тело).
- API Gateway / Rate Limiting.
- Server-side rendering на Edge.
- Аутентификация перед запросом к origin.
Workers KV и Durable Objects
Workers KV — глобально распределённое key-value хранилище с eventual consistency. Durable Objects — stateful Workers для сессий, WebSocket, координации. Workers AI — выполнение ML-моделей на Edge.
История
Cloudflare Workers запущен в 2017 году. Использует V8 Isolates (технология из Chrome/Node.js) вместо контейнеров — 10x быстрее cold start. Workers KV — 2018. Durable Objects — 2021. Pages Functions (Workers для статических сайтов) — 2022.
Связь с хостингом
Workers позволяют добавить логику без изменения VDS-сервера: редиректы, заголовки безопасности, rate limiting. Перед origin-сервером можно поставить Worker как умный прокси. Тариф Free: 100,000 запросов/день. В связке с Cloudflare CDN получается полноценная Edge-платформа.
История Cloudflare Workers
Cloudflare Workers запущены в 2017 году как первая serverless-платформа на edge-узлах CDN. Основана на движке V8 (JavaScript), что обеспечивает холодный старт менее 0 мс (изолированные Workers запускаются быстрее, чем контейнеры). В 2020 году добавлен Workers KV — key-value хранилище. Durable Objects (2021) — объекты с состоянием. В 2022 году появился D1 (SQLite на edge) и R2 (S3-совместимое хранилище без платы за исходящий трафик). Бесплатный план: 100 000 запросов/день.
Cloudflare Workers vs AWS Lambda vs Vercel Edge
| Параметр | CF Workers | AWS Lambda | Vercel Edge |
|---|---|---|---|
| Холодный старт | ~0 мс | ~100 мс | ~0 мс |
| Точки присутствия | 300+ | ~25 регионов | 40+ |
| Runtime | V8 Isolates | Node/Python/Java | V8 Edge Runtime |
| CPU лимит/запрос | 50 мс (free) | 15 мин | 50 мс |
Применение в контексте хостинга
Workers используют для: A/B-тестирования на уровне CDN, геолокационного редиректа, кастомной кеширования логики, Edge SSR для Next.js/Astro. Workers автоматически деплоятся в 300+ PoP Cloudflare без настройки инфраструктуры.
Типичные ошибки
- Попытка использовать Node.js-API (fs, child_process) — Workers runtime не поддерживает их.
- Синхронные длинные операции: лимит CPU 50 мс в бесплатном плане, 30 секунд в платном.
- KV eventual consistency: данные могут быть устаревшими на 60 секунд в разных регионах.