I'm using AWS to host some web applications. We have several small scale applications and are in the middle of initial development, so at any point an application can be in alpha/beta/demo/production. Thankfully, production is being handled by another team.
I'm using haproxy for my load balancer. So my arch design is
Haproxy Server -> Backend Servers -> NAT Server
My question is, on the haproxy server, should I have all routing rules located solely in that haproxy server, or should I run just the basic routing rules (eg, is this demo/test/alpha), and then let the backend servers route the specific URLs to the proper applications (don't worry, example in a sec).
So, to give this some perspective. We have applications A, B and C. We currently have three stages for these applications. Test, Demo, and staging.
HaproxyServer -> TestServer -> apps A, B, and C
|-> DemoServer -> apps A, B, and C
|-> StagingServer -> apps A, B, OR, C
you would navigate to Test server by http://ift.tt/1F13nJW and you could navigate to demo by http://ift.tt/1vSX3Ep etc.
Hopefully you get the idea. So not only do I need to route to the correct server, but then, at that server, I need to route to the correct application that's running.
I'm currently achieving this by having all the rules in the single haproxy server. But I know I can run a second haproxy on the app server itself. Should I split up the work and have two haproxy servers, or is it acceptable to have a single haproxy server?
Aucun commentaire:
Enregistrer un commentaire