0
0
Microservicessystem_design~12 mins

Distributed tracing (Jaeger, Zipkin) in Microservices - Architecture Diagram

Choose your learning style9 modes available
System Overview - Distributed tracing (Jaeger, Zipkin)

This system tracks requests as they travel through multiple microservices. It helps developers see where delays or errors happen by collecting timing and metadata from each service. Key requirements include low overhead, real-time trace visualization, and support for many services.

Architecture Diagram
User
  |
  v
Load Balancer
  |
  v
API Gateway
  |
  v
+-------------------+       +----------------+
| Microservice A     |<----->| Jaeger/Zipkin  |
+-------------------+       | Tracing Backend|
  |                         +----------------+
  v
+-------------------+
| Microservice B     |
+-------------------+
  |
  v
+-------------------+
| Microservice C     |
+-------------------+
Components
User
client
Initiates requests to the system
Load Balancer
load_balancer
Distributes incoming requests evenly to API Gateway instances
API Gateway
api_gateway
Entry point for client requests, routes to microservices
Microservice A
service
Handles part of the business logic and calls other microservices
Microservice B
service
Processes specific tasks and may call downstream services
Microservice C
service
Final service in the chain that completes the request
Jaeger/Zipkin Tracing Backend
tracing_backend
Collects, stores, and visualizes trace data from all microservices
Request Flow - 11 Hops
UserLoad Balancer
Load BalancerAPI Gateway
API GatewayMicroservice A
Microservice AJaeger/Zipkin Tracing Backend
Microservice AMicroservice B
Microservice BJaeger/Zipkin Tracing Backend
Microservice BMicroservice C
Microservice CJaeger/Zipkin Tracing Backend
Microservice CAPI Gateway
API GatewayLoad Balancer
Load BalancerUser
Failure Scenario
Component Fails:Jaeger/Zipkin Tracing Backend
Impact:Trace data collection stops; developers lose visibility into request paths and timing but system functionality continues.
Mitigation:Tracing clients buffer spans temporarily and retry sending; system continues operating normally without tracing data.
Architecture Quiz - 3 Questions
Test your understanding
Which component is responsible for collecting and storing trace data?
AJaeger/Zipkin Tracing Backend
BAPI Gateway
CLoad Balancer
DMicroservice A
Design Principle
This architecture shows how distributed tracing collects timing and metadata from each microservice asynchronously without blocking request processing. It uses trace context propagation to link spans across services, enabling end-to-end visibility while keeping the system scalable and resilient.