Request buffering?

Does Fly do any request buffering like Heroku or nginx? I’m deploying a Python app and am curious if I need to put nginx in front of gunicorn.

There is a 512kb 10MB request body buffer, but depending on your request size you might have to add your own.

If your clients are very slowly sending 20MB requests, for example, and you want to process them only after the entire 20MB has come in, you will need to front with nginx.

We also do support the replay header that lets you replay a request on another region, so the request for there needs to be buffered as well, and those requests are subject to the 10MB size limit.

I hadn’t heard about the fly-replay header before today. Neat! It only gets a mention in fly-docs in the Postgres section [1] and in the blog about global rails apps [2].

It probably needs to be mentioned in:

  1. The Fly Runtime Environment
  2. Public Networking
  3. The Fly Architecture

[1] https://html.duckduckgo.com/html/?q="fly-replay"%20inurl:fly.io/docs

[2] Run Ordinary Rails Apps Globally · Fly

1 Like