1.linkerd

= docs =

linkerd offical doc

 * https://linkerd.io/advanced/

dtab

 * https://linkerd.io/advanced/dtabs/

finagle

 * https://twitter.github.io/finagle/guide/Names.html

Service Mesh Docs

 * https://buoyant.io/2016/05/04/real-world-microservices-when-services-stop-playing-well-and-start-getting-real/

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.
 * What is service mesh


 * 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.