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.