I wrote some details about how to host a Rails 7.1 application in Falcon: https://github.com/socketry/falcon-rails-example - I'll add some more application level examples, including WebSockets and streaming soon.
GitHub - socketry/falcon-rails-example

Contribute to socketry/falcon-rails-example development by creating an account on GitHub.

GitHub

@ioquatix Thanks so much, this is great!

One thing I couldn't find was info about determining the number of Active Record database connections used under the fiber-based model.

For example, the default config using Puma uses up to (NUMBER_OF_PROCESSES * RAILS_MAX_THREADS) database connections, so a 2-process server with 5 threads/process uses 10 db connections.

Is there anything new to understand here?

https://github.com/socketry/falcon-rails-example/blob/51536cab600017eadcf64f9733259058fa8828c9/config/database.yml#L9

falcon-rails-example/config/database.yml at 51536cab600017eadcf64f9733259058fa8828c9 · socketry/falcon-rails-example

Contribute to socketry/falcon-rails-example development by creating an account on GitHub.

GitHub
@brian_kephart I don't think anything here is significantly different. It's up to you to provision as many connections as makes sense for the size of your cluster, according to how ActiveRecord manages its connection pool. If you wanted to have 1000s of clients, you will need 1000s of connections, OR, those clients will have to share a smaller pool of connections. The only thing changed by Falcon, is that the numbers can get higher more easily.