Stay organized with collections Save and categorize content based on your preferences.

Observability and debugging with Service Directory

Using Service Directory for service discovery enables use cases where service consumers and service producers may belong to different teams or organizations. 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 may 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.

To help you debug such issues, Traffic Director integrates with Cloud Logging and Cloud Monitoring.

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