Pattern: Service mesh §
pattern deploymentContext §
You have applied the Microservice architecture pattern and architected your system as a set of services.
Problem §
You must implement numerous cross-cutting concerns including:
- Externalized configuration - includes credentials, and network locations of external services such as databases and message brokers
- Logging - configuring of a logging framework such as log4j or logback
- Health checks - a url that a monitoring service can “ping” to determine the health of the application
- Metrics - measurements that provide insight into what the application is doing and how it is performing
- Distributed tracing - instrument services with code that assigns each external request an unique identifier that is passed between services.
Forces §
Solution §
Use a service mesh that mediates all communication in and out of each service.
Examples §
Resulting context §
Related patterns §
- The Microservice chassis pattern is a way to implement some cross-cutting concerns.
- A service mesh is often implemented using the Sidecar pattern.