Observabilidad y depuración con el Directorio de servicios

La integración de Cloud Service Mesh en el Directorio de servicios presenta nuevas complejidades en la depuración. Dentro de tu empresa, los consumidores y productores de servicios pueden pertenecer a organizaciones o equipos diferentes. Para ayudarte a depurar tales problemas, Cloud Service Mesh se integra en Cloud Logging y Cloud Monitoring.

Por ejemplo:

  • Tienes un servicio checkout que usa Cloud Service Mesh para las redes de aplicaciones.
  • Hay un servicio payment en el Directorio de servicios que un equipo diferente (el productor de servicios) posee y mantiene.
  • Deseas llamar al servicio payment desde el servicio checkout para crear un servicio de backend nuevo en Cloud Service Mesh. Este servicio de backend se conecta al servicio payment mediante el Directorio de servicios para el descubrimiento de servicios.

En este modelo, el productor de servicios podría querer borrar o modificar el servicio payment alojado en el Directorio de servicios. Debido a que son propietarios del servicio payment, pueden realizar esos cambios. Pero si se borra el servicio payment, el descubrimiento de servicios se daña.

Logging

Cuando Cloud Service Mesh resuelve un servicio de backend conectado a un servicio del Directorio de servicios, obtiene una lista de extremos del Directorio de servicios. Si el servicio se borró del Directorio de servicios, Cloud Service Mesh no obtiene ningún extremo. En ese caso, se agrega una entrada de registro a Logging. En la entrada de registro, se incluye la siguiente información:

  • El nombre del servicio de backend
  • El nombre del Directorio de servicios
  • Un mensaje: Service Directory returned 0 endpoints for this service.

Esta información te ayuda a depurar problemas. También puedes configurar alertas para que recibas notificaciones proactivas.

Supervisión

De manera similar al caso de registro, Cloud Service Mesh se integra en Monitoring para generar métricas. Cloud Service Mesh agrega las siguientes métricas a Monitoring para cada servicio de backend:

  • El nombre del servicio de backend
  • La cantidad de extremos asociados con este servicio de backend que se comparten con los clientes de Cloud Service Mesh

Los clientes de Cloud Service Mesh no pueden enviar tráfico a servicios de backend que no tienen extremos.

Consola de Google Cloud

Si se borra un servicio del Directorio de servicios y existe un adjunto a ese servicio en el servicio de backend de Cloud Service Mesh, la consola de Google Cloud muestra una advertencia: The attached Service Directory service could not be found.

¿Qué sigue?