Load Balancer #180
-
|
I found this in Fizzy @kevinmcconnell or anybody, can us tell more, please? |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments
-
|
Sure @zdehasek, I'd be happy to! We've been working on extending Kamal Proxy's load balancing abilities. Typically when doing a Kamal deployment to multiple app servers, you need something in front of it all that balances traffic between them. By bringing this inside Kamal, it means you'll be able to do an entire multi-server deployment with having to set up load balancing with other tools. This is the approach we've taken with Fizzy, and it's working well so far. The load balancing options are not yet fully integrated into Kamal, though. By building this out manually first, we've been able to experiment more with how it works before things start to ossify into the configuration. But ultimately (soon, hopefully) this will be fully baked-in, so the entire deployment (including load balancer config) can be specified in your deploy.yml. In Fizzy's specific case, our setup looks basically like this:
This setup means that everyone should get the fastest reads, because they use the nearest DC, while writes still land at the primary which is the fastest way to process those. The bulk of requests in an app like Fizzy are reads, so this works out well. We run our load balancers as Kamal Accessories (that's the snippet you showed above). The settings those load balancers use are managed with a simple script. This setup probably sounds complicated, but in practice it's been very simple to set up and manage. And as I say, one of my goals with all of this is that anybody should be able to set up a multi-server, multi-region, load-balanced deployment for their app using just Kamal and a deploy.yml. With a bit of luck we'll have this ready for the next major Kamal release, so that it's super easy to use. |
Beta Was this translation helpful? Give feedback.
-
|
Hello @kevinmcconnell, thanks a lot for the detailed explanation. I've been wondering for a while if you might eventually hit the limits of a single-server deployment, so it's really nice to see you testing and validating this approach with Fizzy. The idea of enabling a multi-server, multi-region, load-balanced deployment using just Kamal is super exciting. I can't wait to try it out when it's ready. And also, thanks for Fizzy. It's an awesome product. You all rock! |
Beta Was this translation helpful? Give feedback.
Sure @zdehasek, I'd be happy to!
We've been working on extending Kamal Proxy's load balancing abilities. Typically when doing a Kamal deployment to multiple app servers, you need something in front of it all that balances traffic between them. By bringing this inside Kamal, it means you'll be able to do an entire multi-server deployment with having to set up load balancing with other tools. This is the approach we've taken with Fizzy, and it's working well so far.
The load balancing options are not yet fully integrated into Kamal, though. By building this out manually first, we've been able to experiment more with how it works before things start to ossify into the configuration. But ulti…