Observability and debugging with Service Directory

Traffic Director's integration with Service Directory introduces new complexities in debugging. Within your business, service consumers and service producers might belong to different teams or organizations. To help you debug such issues, Traffic Director integrates with Cloud Logging and Cloud Monitoring.

For example:

  • You have a checkout service that uses Traffic Director for application networking.
  • There's a payment service in Service Directory that a different team (the service producer) owns and maintains.
  • You want to call on the payment service from the checkout service so you create a new backend service in Traffic Director. This backend service attaches to the payment service using Service Directory for service discovery.

In this model, the service producer might want to delete or modify the paymentservice that is hosted in Service Directory. Because they own the payment service, they are permitted to make such changes. But if the payment service is deleted, service discovery is broken.

Logging

When Traffic Director resolves a backend service that is attached to a Service Directory service, it gets a list of endpoints from Service Directory. If the service has been deleted from Service Directory, Traffic Director doesn't get any endpoints. In such a case, a log entry is added to Logging. The log entry includes the following information:

  • The backend service name
  • The Service Directory name
  • A message: Service Directory returned 0 endpoints for this service.

This information helps you debug issues. You can also set up alerts to be proactively notified.

Monitoring

Similar to the logging case, Traffic Director integrates with Monitoring to generate metrics. Traffic Director adds the following metrics to Monitoring for each backend service:

  • The backend service name
  • The number of endpoints associated with this backend service that are shared with Traffic Director's clients

Traffic Director clients are not able to send traffic to backend services that do not have endpoints.

Google Cloud console

If a Service Directory service is deleted and an attachment to that service exists in the Traffic Director backend service, the Google Cloud console displays a warning: The attached Service Directory service could not be found.

What's next