Lokvin Wiki
 
Line 20: Line 20:
 
* A service mesh like linkerd provides critical features to multi-service applications running at scale:
 
* A service mesh like linkerd provides critical features to multi-service applications running at scale:
 
# Baseline resilience: retry budgets, deadlines, circuit-breaking
 
# Baseline resilience: retry budgets, deadlines, circuit-breaking
  +
# Top-line service metrics: success rates, request volumes, and latencies.
#
 
  +
# latency and failure tolerance: Failure- and latency-aware load balancing that can route around slow or broken service instances.
  +
# Distributed tracing a la Zipkin and OpenTracing
  +
# Service discovery: locate destination instances.
  +
# Protocol upgrades: wrapping cross-network communication in TLS, or converting HTTP/1.1 to HTTP/2.0.
  +
# Routing: route requests between different versions of services, failover between clusters, etc.

Latest revision as of 08:58, 19 April 2018

docs[]

linkerd offical doc[]

dtab[]

finagle[]

Service Mesh Docs[]

  • What is service mesh

a service mesh is a layer that manages the communication between apps (or between parts of the same app, e.g. microservices). In traditional apps, this logic is built directly into the application itself: retries and timeouts, monitoring/visibility, tracing, service discovery, etc. are all hard-coded into each application.

  • A service mesh like linkerd provides critical features to multi-service applications running at scale:
  1. Baseline resilience: retry budgets, deadlines, circuit-breaking
  2. Top-line service metrics: success rates, request volumes, and latencies.
  3. latency and failure tolerance: Failure- and latency-aware load balancing that can route around slow or broken service instances.
  4. Distributed tracing a la Zipkin and OpenTracing
  5. Service discovery: locate destination instances.
  6. Protocol upgrades: wrapping cross-network communication in TLS, or converting HTTP/1.1 to HTTP/2.0.
  7. Routing: route requests between different versions of services, failover between clusters, etc.