All services need to properly handle long-running requests:
- Client connection should receive an error if the service takes longer than N seconds, not an abrupt connection drop
- Resilience - maybe allow Varnish to re-issue a request to another backend service if the first one took too long.
- Hung service should be restarted if it no longer responds to a heartbeat
- Possibly handle cases of "responds to heartbeat but doesn't handle any requests"