Services
Los servicios son contenedores que se activan mediante un endpoint HTTP. Ejemplos de servicios incluyen:
- Sitios web
- APIs
- Webhooks
Para estos endpoints, utilizamos nuestra tecnología de escalado a cero para apagar recursos no usados e inicializarlos solo cuando llega una solicitud.
Cómo Funciona
Cuando creas un servicio, creamos un endpoint público y emitimos un certificado TLS válido para él. Por defecto, este endpoint aloja un servidor HTTP vacío que puedes usar para probar tu configuración.
Cuando nos proporcionas una imagen de contenedor, reemplazamos nuestro marcador de posición estático con tu sitio web o API.
Requisitos de la Imagen del Contenedor
Cada imagen de contenedor se inicializa bajo demanda, por lo que cualquier sistema desplegado en DownToZero (DTZ) debe diseñarse teniendo esto en cuenta.
Por defecto, DTZ espera a que el contenedor abra cualquier puerto. El primer puerto que se abra será al que DTZ se conecte y hacia el que reenviará la solicitud.
Variables de Entorno
El entorno de ejecución provee las siguientes variables de entorno a tu servicio:
| variable | configurable | descripción |
|---|---|---|
| PORT | sí | El puerto en el que tu aplicación debe escuchar. |
| DTZ_ACCESS_TOKEN | sí (la identidad puede cambiarse) | Un JWT generado desde el contexto que permite acceder a recursos dentro del contexto. |
| DTZ_CONTEXT_ID | no | El contexto DTZ en el que la aplicación actual está corriendo. |
Encabezados HTTP de la Solicitud
El entorno de ejecución inyecta los siguientes encabezados HTTP en cada solicitud reenviada a tu servicio:
| encabezado | valor de ejemplo | descripción |
|---|---|---|
| X-Request-ID | 5f2a9b4e-2e9e-4e6c-a2a3-9f2a1c3d4e5f | Identificador único para la solicitud. Útil para correlacionar logs y trazas entre componentes. |
| X-Forwarded-Host | api.example.com | El valor original de Host que el cliente solicitó. Úsalo al generar URLs absolutas o para enrutamiento multiinquilino. |
| X-Forwarded-Proto | https | El protocolo original usado por el cliente. Para endpoints públicos en DTZ esto siempre es https. |
Estos encabezados son proporcionados por la plataforma y reflejan el contexto de la solicitud hacia el cliente; tu aplicación debe tratarlos como entradas de solo lectura.