Mit Cloudflare Workers können Sie JavaScript-Code (oder Rust/Wasm-Code) am Rande des Netzwerks ausführen, in der Nähe des Endbenutzers. Dies reduziert die Latenz, verbessert die Leistung und vereinfacht die Architektur durch den Wegfall herkömmlicher Server. Im Jahr 2025 bietet die Plattform erweiterte Funktionen wie KV Store, Durable Objects, Workers Sites und native Integration mit Cloudflare Pages.
Warum Worker verwenden?
- Minimale Latenz, Code wird in globalen Rechenzentren ausgeführt, normalerweise <10 ms.
- Automatische Skalierung, keine Bereitstellung von Instanzen erforderlich.
- Pay-per-Use-Modell, Abrechnung basierend auf Anfragen und CPU-Zeit.
- Integration mit Cloudflare-Diensten, Firewall, CDN, Argo, Images usw.
- Unterstützung für mehrere Sprachen, JavaScript, TypeScript, Rust, C, Go über WebAssembly.
Grundarchitektur eines Workers
- Skript, Funktion
fetch, dieRequestempfängt undResponsezurückgibt. - Routing, definiert in
wrangler.tomloder über Workers Routes. - Optionaler Speicher, KV oder dauerhafte Objekte für dauerhaften Zustand.
- Deploy,
wrangler publishoder CI/CD-Integration.
Anforderungsablauf
Der Pfad einer Anfrage ist direkt: Der Benutzer greift über HTTPS auf Cloudflare Edge zu, das das Worker-Skript im nächstgelegenen Rechenzentrum ausführt. Der Worker liest und schreibt im KV-Speicher, kommuniziert mit langlebigen Objekten, wenn ein konsistenter Status erforderlich ist, und gibt die Antwort an den Benutzer zurück. Parallel dazu stellt Edge nach Möglichkeit bereits vom CDN zwischengespeicherte Inhalte bereit und vermeidet so unnötige Neuausführungen.
Projekt mit Wrangler konfigurieren
## Instalar Wrangler (CLI oficial) npm i -g @cloudflare/wrangler ## Inicializar projeto wrangler init my-worker --type=javascript ## Editar wrangler.toml (exemplo)
Minimalbeispiel von wrangler.toml:
name = "my-worker" type = "javascript" account_id = "YOUR_ACCOUNT_ID" workers_dev = true compatibility_date = "2025-01-01" [vars] API_KEY = "${API_KEY}" [[kv_namespaces]] binding = "MY_KV" id = "YOUR_KV_ID"
Basisskript (3 Zeilen)
addEventListener('fetch', event => { event.respondWith(handleRequest(event.request)) }); async function handleRequest(request) { return new Response('Olá do Cloudflare Workers!', {status: 200}); }
Dieser Code antwortet „Hallo von Cloudflare-Mitarbeitern!“ auf jede Anfrage.
Pfadführung
Fügen Sie in wrangler.toml Routen für bestimmte Domänen hinzu:
routes = ["example.com/api/*", "api.example.com/*"]
Jetzt wird der Worker nur für URLs ausgelöst, die dem Muster entsprechen.
Verwendung von KV Store (2-Zeilen-Beispiel)
await MY_KV.put('visitas', '1'); let count = await MY_KV.get('visitas');
KV bietet Latenz im Millisekundenbereich und globale hohe Verfügbarkeit.
Dauerhafte Objekte, konsistenter Zustand pro Schlüssel (Beispiel 3 Zeilen)
class Counter { constructor(state) { this.state = state; } async fetch(request) { let value = await this.state.storage.get('count') || 0; await this.state.storage.put('count', ++value); return new Response(String(value)); } } addEventListener('fetch', event => event.respondWith(handleRequest(event.request)));
Langlebige Objekte behalten den synchronen Zustand zwischen Instanzen bei, ideal für Schalter, Chatrooms usw.
Sicherheit und Best Practices
- Eingabevalidierung, niemals URL-Parametern vertrauen;
URLSearchParamsverwenden und desinfizieren. - CPU-Limit, Worker haben ein Limit von 50 ms pro Anfrage; Vermeiden Sie lange Schleifen.
- Verwendung von Umgebungsvariablen, Geheimnisse in
wrangler secret putstatt im Hardcode speichern. - CORS, konfigurieren Sie die richtigen Header für öffentliche APIs.
- Ratenbegrenzung, kombiniert mit Cloudflare-Firewall-Regeln zum Schutz vor Missbrauch.
Lokal testen
wrangler dev
Der Befehl startet einen lokalen Server, der die Edge-Umgebung simuliert.
Bereitstellung über CI/CD (GitHub Actions-Beispiel), 5 Zeilen
name: Deploy Workers on: push jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - run: npm i -g @cloudflare/wrangler - run: wrangler publish env: CF_API_TOKEN: $
Beobachtbarkeit
- Protokolle,
wrangler tailzeigt Protokolle in Echtzeit an. - Metriken, Cloudflare Analytics zeigt Latenz, Fehler, Datenverkehr.
- Fehlerverfolgung, verwenden Sie
try/catchund senden Sie Details an Sentry oder Workers KV.
Kurze Checkliste
- Wrangler CLI installieren.
- Konfigurieren Sie
wrangler.tomlmit account_id und KV/DO. - Skript
fetch-Handler schreiben. - Routen festlegen oder
workers_devverwenden. - Vor Ort mit
wrangler devtesten. - Geheimnisse über
wrangler secretkonfigurieren. - Bereitstellung mit
wrangler publishoder CI. - Überwachungsprotokolle (
wrangler tail). - Wenden Sie zur Sicherheit Firewall-Regeln an.
Fazit
Cloudflare Workers bietet ultraschnelles Computing am Edge und ermöglicht Ihnen die Erstellung serverloser APIs, statischer Websites, Bildtransformationen und Geschäftslogik. Indem Sie Best Practices für die Sicherheit befolgen, KV oder dauerhafte Objekte für den Status verwenden und mit CI/CD-Pipelines integrieren, können Sie Anwendungen global mit vorhersehbaren Kosten und hoher Leistung skalieren.
Haben Sie bereits einen Worker entwickelt? Teilen Sie Ihre Tipps und Herausforderungen in den Kommentaren!
Lesen Sie auch
- [WebAssembly am Rande: Warum ein schneller und isolierter Start wichtig ist27
- Cloudflare Workers in der Produktion: Was sich nach „Hello World“ ändert
- Entwicklung serverloser Anwendungen mit AWS Lambda und Cloudflare Workers im Jahr 2025
- Moderne Webentwicklung im Jahr 2025: Trends, Tools und innovative Strategien
- Durable Objects von Cloudflare: Konsistenter Zustand am Rande – was sich wirklich ändert
- Cloudflare Workers vs. Pages: Der Unterschied, der wichtig ist, bevor Sie sich entscheiden
