0

Our team is currently planning our next big project which looks to be an exciting one!

We our product will be an ASP.NET MVC site which can either be deployed on a customers own server or they can pay for an instance on our server, (this will be automated by a configuration service running on the web box, but thats really another topic altogether).

We don't want to go over the top on infrastructure we don't necessarily need, so for the initial deploy we'd like to have 2 Win2k8 boxes running IIS7 as the web boxes..

1 primary beefy SQL Server 2008 database server running as the master and a slightly lesser server as the slave / failover.

The SQL failover is not an issue (because we're SQL Server nerds!)

However we are unsure how to implement the web failover, for now we don't want to split the load between the two web servers in the early stages but instead have it waiting patiently as a failover incase the main box goes boom!

I've looked at various High Availability systems like HAproxy and the like but don't completely understand how to get this kind of configuration going.

(i'm not saying we're looking for HAproxy advice.. it's just one of the systems we've seen making big waves, along with ldirectord etc..)

I should also note that we are not afraid of running the load balancer on a linux box if needs be!

Daniel Upton
  • 358
  • 2
  • 6
  • 15

1 Answers1

1

Setting up failover with haproxy is straight forward and pretty flexible. Bung it on a machine and it forwards connections wherever you point it. You can rely on its basic http check to direct to a backup server or point to a scripted page for more complicated rules on when to switch.

You are probably mostly avoiding it with mvc but if you are using session state you need to share it between the web servers.

The load balancer then becomes a SPoF so you need to run it on multiple machines and use round robin dns or something like ucarp for them to share an IP address.

JamesRyan
  • 8,166
  • 2
  • 25
  • 36