architecture7 min read

Building a data plane from scratch: Stripe’s own high-performance distributed proxy

AI Summary

Stripe replaced Envoy with an in-house Go-based proxy called mesh-proxy to support 99.9995% reliability across millions of requests per second. The custom proxy addresses Envoy's connection cardinality issues by shifting from a worker-based model to a per-connection goroutine model, resulting in a 50% reduction in both CPU usage and latency. Direct integration with Stripe's service registry and custom routing features further improved efficiency and allowed for tailored optimizations.

Key Takeaways

  • Stripe replaced Envoy with a custom Go proxy named mesh-proxy to meet a 99.9995% reliability target.
  • The new proxy uses a per-connection goroutine model instead of a worker-per-core model, eliminating the connection explosion problem.
  • Mesh-proxy achieved roughly 50% lower CPU usage and a 50% reduction in latency compared to the previous Envoy deployment.

Why it matters

Operating a service mesh at massive scale introduces strict connection and resource limits. Building a bespoke proxy demonstrates how custom concurrency models can drastically reduce connection overhead, lower infrastructure costs, and unlock domain-specific routing features that general-purpose proxies cannot easily support.

# proxy# service mesh# golang# distributed systems

Conversation 0

Be the first to share your perspective.