Web Service Guidelines
Convenciones para servicios web en el ecosistema Dinaup. Todos los servicios deben exponer endpoints estandar de salud y version.
Endpoints obligatorios
Health Check
Endpoint para que los orquestadores (Docker, Kubernetes) verifiquen que el servicio esta funcionando correctamente.
app.MapHealthChecks("/HealthCheck");
Version
Endpoint que devuelve la version actual del ensamblado. Se usa para monitoreo y despliegues.
app.MapGet("/version", () =>
{
return Results.Ok(new
{
version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
});
});
info
Ambos endpoints deben estar disponibles sin autenticacion para que los sistemas de monitoreo y los balanceadores de carga puedan consultarlos.
Configuracion minima
Un servicio web Dinaup tipico debe incluir en su Program.cs:
- Banner de arranque (ver Blazor Server Guidelines)
- Verificacion de conectividad antes de iniciar
- Health Check en
/HealthCheck - Version en
/version - Manejo de errores fatales con reintento automatico
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddHealthChecks();
var app = builder.Build();
app.MapHealthChecks("/HealthCheck");
app.MapGet("/version", () => Results.Ok(new
{
version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
}));
app.Run();