Services
Services sind Container, die durch einen HTTP-Endpunkt ausgelöst werden. Beispiele für Services sind:
- Websites
- APIs
- Webhooks
Für diese Endpunkte verwenden wir unsere Scale-to-Zero-Technologie, um ungenutzte Ressourcen herunterzufahren und sie erst zu initialisieren, wenn eine Anfrage eingeht.
Funktionsweise
Wenn Sie einen Service erstellen, erstellen wir einen öffentlichen Endpunkt und stellen ein gültiges TLS-Zertifikat dafür aus. Standardmäßig hostet dieser Endpunkt einen leeren HTTP-Server, den Sie zum Testen Ihrer Einrichtung verwenden können.
Wenn Sie uns ein Container-Image bereitstellen, ersetzen wir unseren statischen Platzhalter durch Ihre Website oder API.
Anforderungen an das Container-Image
Jedes Container-Image wird bedarfsorientiert initialisiert, daher muss jedes System, das auf DownToZero (DTZ) bereitgestellt wird, entsprechend konzipiert sein.
Standardmäßig wartet DTZ darauf, dass der Container einen beliebigen Port öffnet. Der erste geöffnete Port ist der Port, an den DTZ die Anfragen anhängt und weiterleitet.
Umgebungsvariablen
Die Laufzeit stellt Ihrem Service die folgenden Umgebungsvariablen zur Verfügung:
| Variable | setzbar | Beschreibung |
|---|---|---|
| PORT | ja | Der Port, auf dem Ihre Anwendung zuhören soll. |
| DTZ_ACCESS_TOKEN | ja (Identität kann geändert werden) | Ein JWT, das aus dem Kontext generiert wird und den Zugriff auf Ressourcen innerhalb des Kontexts erlaubt. |
| DTZ_CONTEXT_ID | nein | Der DTZ-Kontext, in dem die aktuelle Anwendung ausgeführt wird. |
HTTP-Anfrageheader
Die Laufzeit fügt die folgenden HTTP-Header in jede an Ihren Service weitergeleitete Anfrage ein:
| Header | Beispielwert | Beschreibung |
|---|---|---|
| X-Request-ID | 5f2a9b4e-2e9e-4e6c-a2a3-9f2a1c3d4e5f | Ein eindeutiger Bezeichner für die Anfrage. Nützlich zum Korrigieren von Logs und zur Nachverfolgung über Komponenten hinweg. |
| X-Forwarded-Host | api.example.com | Der ursprüngliche vom Client angeforderte Host-Wert. Wird verwendet, um absolute URLs zu generieren oder für Multi-Tenant-Routing. |
| X-Forwarded-Proto | https | Das ursprüngliche vom Client verwendete Protokoll. Bei öffentlichen Endpunkten auf DTZ ist dies immer https. |
Diese Header werden von der Plattform bereitgestellt und spiegeln den clientseitigen Anfragekontext wider; Ihre Anwendung sollte sie als nur lesbare Eingaben behandeln.