To address the OOMKill issue you're experiencing with Envoy when handling large responses, you'll need to adjust Envoy's buffering settings and potentially leverage HTTP/2 flow control to implement a form of backpressure. Here's a step-by-step guide to configuring Envoy for minimal buffering and backpressure:
Envoy allows you to configure buffer limits to control the amount of data it buffers. You can set both the per-stream and the connection buffer limits.
In your Envoy configuration file, set the buffer limits as follows:
static_resources:
listeners: