Observabilidad y depuración con el Directorio de servicios

La integración de Cloud Service Mesh con el Directorio de servicios presenta a 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 depurar esos problemas, Cloud Service Mesh se integra en Cloud Logging y Cloud Monitoring

Por ejemplo:

  • Tienes un servicio de checkout que usa Cloud Service Mesh para de tus 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, 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 Directorio de servicios, obtiene una lista de extremos de Directorio de servicios. Si el servicio se borró de 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. La malla de servicios de Cloud 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?