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 y 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 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, 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 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

Al igual que con el registro, Cloud Service Mesh se integra a 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 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?