Dienste
Dienste sind Container, die durch einen HTTP-Endpunkt ausgelöst werden. Beispiele für Dienste sind:
- Websites
- APIs
- Webhooks
Für diese Endpunkte verwenden wir unsere Scale-to-zero-Technologie, um ungenutzte Ressourcen herunterzufahren und sie nur zu initialisieren, wenn eine Anfrage eingeht.
Funktionsweise
Wenn Sie einen Dienst erstellen, richten wir einen öffentlichen Endpunkt ein 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 bei Bedarf initialisiert, daher sollte jedes System, das auf DownToZero (DTZ) bereitgestellt wird, darauf ausgelegt sein.
Standardmäßig wartet DTZ darauf, dass der Container einen beliebigen Port öffnet. Der erste geöffnete Port ist derjenige, an den DTZ anbindet und an den die Anfrage weitergeleitet wird.
Umgebungsvariablen
Die Laufzeit stellt Ihrem Dienst die folgenden Umgebungsvariablen zur Verfügung:
| variable | settable | description |
|---|---|---|
| PORT | ja | Der Port, auf dem Ihre Anwendung lauschen sollte. |
| DTZ_ACCESS_TOKEN | ja (Identität kann geändert werden) | Ein JWT, das aus dem Kontext generiert wird und den Zugriff auf Ressourcen innerhalb dieses Kontexts ermöglicht. |
| DTZ_CONTEXT_ID | nein | Der DTZ-Kontext, in dem die aktuelle Anwendung läuft. |
HTTP Request Headers
Die Laufzeit fügt bei jeder an Ihren Dienst weitergeleiteten Anfrage die folgenden HTTP-Header hinzu:
| header | example value | description |
|---|---|---|
| X-Request-ID | 5f2a9b4e-2e9e-4e6c-a2a3-9f2a1c3d4e5f | Eindeutiger Bezeichner für die Anfrage. Nützlich, um Logs zu korrelieren und Traces über Komponenten hinweg zu verfolgen. |
| X-Forwarded-Host | api.example.com | Der ursprüngliche Host-Wert, den der Client angefragt hat. Verwenden Sie ihn beim Erstellen absoluter URLs oder für Multi-Tenant-Routing. |
| X-Forwarded-Proto | https | Das ursprüngliche Protokoll, das der Client verwendet hat. Für öffentliche Endpunkte auf DTZ ist dies immer https. |
Diese Header werden von der Plattform bereitgestellt und geben den clientseitigen Anfragekontext wieder; Ihre Anwendung sollte sie als schreibgeschützte Eingaben behandeln.