I am evaluating using Fly for the prototype of a project, but I don’t know if I can adapt it to Fly.
The project basically consists of a load balancer, several back end instances, a proxy to the database and several instances of the database (forming a cluster).
Is it fatible? Any example or tutorial that generates a similar structure? Thank you!
The PostgreSQL project we’re working on is roughly that kind of layout. The most difficult part of putting databases on Fly is bootstrapping clusters that aren’t really designed to work in container environments.
Proxy layers and backend apps are simple! I’d probably model each of them as their own Fly app and use private networking + DNS discovery to connect to them.
The load balancer might be unnecessary, but it’ll work just fine if you have special load balancing logic to implement.
If you can tell us more about the specific apps / software you’re working with I can point you to some examples and help get it going.
Ah! We haven’t tried RethinkDB, but if it supports IPv6 it should work fine.
I think you can skip the load balancer, and possibly use our built in DNS service discovery. The proxy could either be its own app, or you could roll it into the RethinkDB VMs.
If you can get a DB going with Volumes, and call it something like my-app-db, you can connect to it from either the rethink proxy or your fastify app using my-app-db.internal.
Where are you hosting RethinkDB now? You could also try putting your app + RethinkDB proxies on Fly and connect them to your existing cluster.