For someone that is experienced with Rails but not with the other runtimes mentioned, how do they eliminate the need for db connection pools and speed up deployments across nodes?
To handle 25k qps with Rust, you can run 10 boxes. Maybe less.
Deployments are complicated (even when we wrap them in simple abstractions). A "rare" delay that impacts 1% of boxes during a deploy will become common on 100 boxes but still somewhat rare on only 10.
Running a single rust process per box allows a connection pooler to be in-process. It's more efficient, it supports postgres prepared statements, it's one less operational headache, etc.
I read their comment as needing an external database pool to scale, not that they don't need a pool.
When running JVM or the other runtimes, the database pool can be part of the application itself because it uses a different threading model.