Prompt
I'm building a gateway for microservices with retries and circuit breaking, what do people use?
Latest observation
Oct 6, 2026
OpenAI APIWeb search: off
People usually pick one of a few patterns/tools depending on whether they want a full API gateway or just resilience in front of services:
Common choices
1) Envoy
- Very popular as a service proxy / gateway
- Supports:
- retries
- timeouts
- circuit breaking
- load balancing
- mTLS
- Often used with service mesh setups like Istio or Consul
- Good if you want strong traffic control at the edge or between services
2) Kong
- API gateway focused
- Supports plugins for:
- retries
- rate limiting
- auth
- logging
- circuit breaking via integrations/plugins depending on setup
- Good if you want an API management layer
3) NGINX / NGINX Plus
- Common reverse proxy / gateway
- Can do retries, timeouts, load balancing
- Circuit breaking is usually more manual / indirect compared with Envoy
- Simple and widely known
4) Spring Cloud Gateway / Spring Cloud Circuit Breaker
- Common in Java/Spring ecosystems
- Uses libraries like:
- Resilience4j
- Netflix Hystrix was common historically, but is deprecated
- Good if your gateway is part of a Spring app
5) Resilience4j
- Not a gateway itself, but a popular circuit breaker/retry library
- Used inside app code or gateway code
- Supports:
- circuit breaker
- retry
- bulkhead
- rate limiter
- Good when you want app-level resilience, not just proxy-level
6) Istio / Linkerd
- Service mesh rather than gateway
- Great for:
- retries
- circuit breaking
- traffic shaping
- observability
- Usually paired with Envoy under the hood
- Better for service-to-service traffic than edge gateway use
Rule of thumb
- API gateway at the edge: Kong, NGINX, Spring Cloud Gateway
- Service-to-service resilience: Envoy, Istio, Linkerd
- In-app resilience: Resilience4j
If you tell me your stack — for example Java/Spring, Kubernetes, Node.js, or Go — I can recommend the most common setup for that environment.