Cloudflare Workers
Serverless
Edge Computing
JavaScript
Rust
KV Store
Durable Objects
API Gateway
Security
Performance
Deployment

Cloudflare Workers: Praktischer Leitfaden für serverloses Edge Computing

Cloudflare Workers: Praktischer Leitfaden für serverloses Edge Computing

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

  1. Skript, Funktion fetch, die Request empfängt und Response zurückgibt.
  2. Routing, definiert in wrangler.toml oder über Workers Routes.
  3. Optionaler Speicher, KV oder dauerhafte Objekte für dauerhaften Zustand.
  4. Deploy, wrangler publish oder 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; URLSearchParams verwenden und desinfizieren.
  • CPU-Limit, Worker haben ein Limit von 50 ms pro Anfrage; Vermeiden Sie lange Schleifen.
  • Verwendung von Umgebungsvariablen, Geheimnisse in wrangler secret put statt 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 tail zeigt Protokolle in Echtzeit an.
  • Metriken, Cloudflare Analytics zeigt Latenz, Fehler, Datenverkehr.
  • Fehlerverfolgung, verwenden Sie try/catch und senden Sie Details an Sentry oder Workers KV.

Kurze Checkliste

  • Wrangler CLI installieren.
  • Konfigurieren Sie wrangler.toml mit account_id und KV/DO.
  • Skript fetch-Handler schreiben.
  • Routen festlegen oder workers_dev verwenden.
  • Vor Ort mit wrangler dev testen.
  • Geheimnisse über wrangler secret konfigurieren.
  • Bereitstellung mit wrangler publish oder 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