Un punto de acceso de estado que es general en público y detallado en privado
Un indicador público de estado debe informar si el servicio está disponible. Los operadores pueden necesitar detalles de componentes para diagnosticar fallos. Separamos ambos públicos para ofrecer una respuesta útil sin divulgar el inventario interno de servicios.
Defina dos tipos de respuesta
La respuesta pública contiene una lista limitada de campos, como el estado general y la hora de observación. La respuesta autorizada puede incluir el diagnóstico que necesitan los operadores. Construya cada respuesta expresamente; filtrar después un objeto interno amplio facilita los errores.
Mantenga la autorización en el servidor
Cuando el servidor del frontend necesita detalles, se autentica de servidor a servidor. Solo entrega al navegador los campos públicos aprobados. La credencial pertenece a la configuración administrada del servidor y no debe aparecer en paquetes del cliente, registros ni datos de la página.
Pruebe las condiciones de fallo
- Una credencial ausente, vacía o incorrecta no debe habilitar detalles.
- Un permiso explícito de operador debe comprobarse de manera independiente conforme a la política prevista.
- Compare credenciales mediante el mecanismo adecuado de tiempo constante, después de verificar que ambos valores existen.
- Las respuestas detalladas no deben entrar en cachés públicas compartidas.
- Un tiempo de espera agotado o una dependencia fallida debe producir el estado desconocido o degradado documentado.
Compare solicitudes anónimas, autorizadas y rechazadas, incluidas las cachés ya utilizadas. Inspeccione también lo que recibe el navegador: una solicitud interna puede ser correcta mientras su resultado se incorpora por error a la página.
Qué obtiene el operador
El visitante recibe una señal limitada de disponibilidad. El operador conserva una vista de diagnóstico separada con contexto para investigar. Atlas y nuestro trabajo de observabilidad aplican esta distinción al decidir qué señales corresponden a cada público.