-1

I've a closed code application that needs to connect to a web service that needs to run on XPs or Windows 7 (desktop). The application can only connect to a single IP address. The application is low volume - less than 1000 HTTP GETs a day.

The system flow is: Client application --> HTTP --> Web servce

What I can do: 1. Install software on the Client machine. 2. Install software on the Web service machines. 3. Install a network gadget.

To provide some form of high availability, I wish to distribute the load across 2 physical machines in case 1 of them is down.

I know there are software/hardware load balancers and open source Linux solutions, but the entire solution has a budget of only $3k for hardware, so the hardware load balancer must not cost more than $1.5K (leaving $1.5 for the 2 PCs), Windows servers (NLB) and VMs are probably out. We can't use Linux as there's no budget for Linux expertise either. There are also DNS solutions, but I prefer not to use them as they are complicated and I suspect, not so reliable.

Recently, I've also explored the possibility of building a packet filtering app as such WinpkFilter (http://www.ntkernel.com/w&p.php?id=7) to capture the IP packets from the client machine and automatically distribute across the 2 servers. This will probably be the last resort because since I prefer not to reinvent the wheel.

I've been searching for a solution for sometime but there seem to be nothing in the market. Will appreciate any pointers. Thank you. :)

Update:

Linux NLB is out, but I could use Windows based solution besides than Windows NLB.

Joshua Lim
  • 251
  • 1
  • 3
  • 14
  • I take it the budget does not allow for Server 2008, which has NLB compenents in it? I would suggest you would push for the extra money as Windows 7 is really not designed to be a server OS - but I guess you know that. I'll be interested to see what people come up with, but I also expect that 1.5k is a fraction of what could be spent on a solution. – tombull89 May 24 '12 at 07:38
  • Well, you have to balance cost with time. You can build your own or use an existing solution (FOSS or commercial). If you'd rather not build your own, then you'd have to "learn" linux or settle with DNS RR LB (which doesn't provide HA). To tombull89's point, if you can't afford a NLB license and if HA is important, then perhaps priorities need to be reassessed. – bangdang May 24 '12 at 07:59
  • Difficult. FOSS is usually Linux, and everything else costs money.. :) Have a look here: http://us.loadbalancer.org/products.php close to your 1.5k tough. The virtual one is cheaper if you have VMWare somewhere... – MichelZ May 24 '12 at 08:19
  • @tombull89 - yes, we'll probably end up using Win2k8 standard as it is cheaper than using hardware balancer. Thanks MichelZ, I saw that website a couple weeks ago, doesn't look professional - or it maybe just website design. :) btw, any thoughts on "NLB" implementation on the client side? – Joshua Lim May 24 '12 at 15:33

2 Answers2

1

you can try nginx - it is supported on windows and can act as a load balancer: http://wiki.nginx.org/Main http://library.linode.com/web-servers/nginx/configuration/front-end-proxy-and-software-load-balancing

0

You could implement a reverse proxy on the client which then connects to your backend servers. This should be able to redirect to a working server when one goes down. This should be possible using Windows 7 with IIS as well, I guess, if you are very cost sensitive.

MichelZ
  • 11,008
  • 4
  • 30
  • 58