Observabilidad y depuración con el Directorio de servicios

La integración de Cloud Service Mesh con el Directorio de servicios introduce nuevas complejidades en la depuración. Dentro de tu empresa, los consumidores de servicios y o los productores de servicios pueden pertenecer a organizaciones o equipos diferentes. Para ayudarte a depurar estos 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.
  • Quieres llamar al servicio payment desde el servicio checkout, por lo que crearás un nuevo servicio de backend 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, es posible que el productor del servicio borre o modifique el servicio payment que se aloja 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 adjunto 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 Logging, 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 compartida 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 un adjunto a que existe 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?