Interview Istio & Service Mesh

How would you implement rate limiting in Istio (local and global)?

Istio & Service Mesh · Advanced level

Answer

Istio rate limiting can be local or global. Local rate limiting is enforced independently by each proxy and is good for simple per-pod protection. Global rate limiting uses an external rate-limit service so limits can be shared across replicas and gateways.

Technical explanation

Local limits are simpler and avoid an external dependency, but each proxy has its own counter.

Global limits are better for tenant-level, API-key, or user-level quotas across multiple gateway replicas.

Rate limits should be paired with clear response codes, dashboards, and exemption processes.

Hands-on example

Implementation example:

Local: EnvoyFilter or Telemetry/filter configuration for token bucket at ingress.

Global: ingress gateway -> Envoy external rate limit filter -> rate-limit service backed by Redis.

Test:

$ hey -n 1000 -c 50 https://api.example.com/orders

Expect 429 when configured thresholds are exceeded.

Preparing for an interview?

Check how well your resume matches the role with our free resume checker— match score, ATS check, and the skills you're missing.

More Istio & Service Mesh interview questions

← All Istio & Service Mesh questions