A live-sports streaming platform serves LL-HLS and DASH live streams plus a large VOD library of highlights and full replays. Behind the CDN, an Istio ingress gateway fronts the origin services on Kubernetes. During the last big match, a surge of highlight requests after a wicket shared connection pools with live segment fetches, Istio's default retries doubled origin load during a brownout, and live p99 origin latency jumped from 120 ms to 2.4 seconds.
The interviewer asks“Live segments and VOD requests hit the same origin tier today and get the same timeouts and retries. Using Istio and Envoy, design routing so live traffic gets a low-latency treatment that is different from VOD, and show me the config. Changes must apply on match day without restarting anything.”
I split traffic into classes, not just live and VOD: live blocking playlists, live parts and segments, and VOD. Each gets its own VirtualService route and its own DestinationRule subset with separate pods, node pool and connection pool limits, ideally behind separate gateway deployments. Live segments get a two-second budget, at most one retry on connection failures with an outstanding-retry cap, optional hedging via an EnvoyFilter, and aggressive outlier detection; blocking playlists get a timeout longer than the origin hold time; VOD gets generous timeouts and three retries. Locality load balancing keeps live zone-local, and because Istio pushes all this over xDS, routes and clusters update in place, which I verify with proxy-status, the route dump and response flags.
A free account unlocks the rest of it, and saves your progress across every track.
ping Check if a host answers and how fasttraceroute Trace the routers between you and a hostdig Query DNS and read the full answernslookup Look up DNS names quicklycurl Make HTTP requests and debug APIswget Download files reliablyssh Log in to remote servers securelyss See listening ports and open connections