-3

I've got a 3rd party off-the-shelf windows application that needs to connect to a Web Service (IP address or URL) installed onto another server (actually running on Windows 7 Professional).

My user wants me to implement a fail-over solution in which if the primary web server fails to respond, the 3rd party application will automatically connect to a backup server.

Is there a way for me to implement this without implementing clustering (hardware or Windows NLB)?

Update: Please note - I do not wish to implement a load balancer on the server end.

Joshua Lim
  • 251
  • 1
  • 3
  • 14
  • Do you have control of both servers? – rnxrx May 25 '12 at 05:07
  • 1
    Windows 7 of any form isn't a server OS. – user9517 May 25 '12 at 06:37
  • Related: http://serverfault.com/questions/392156/simple-ip-load-balancer-for-web-service-that-runs-on-windows-xp-or-windows-7-pro – tombull89 May 25 '12 at 07:31
  • @lain - "Windows 7 of any form isn't a server OS" - The application runs a Web Service, so it is a server even though we don't use Windows Server or IIS. – Joshua Lim May 25 '12 at 08:45
  • @tombull89 - "http://serverfault.com/questions/392156/simple-ip-load-balancer-for-web-service-that-runs-on-windows-xp-or-windows-7-pro" This is a different question, I don't need a load balancer in this case, since a load balancer is not feasible for my case. Thanks. – Joshua Lim May 25 '12 at 10:43

3 Answers3

1

Sure, Windows NLB and a hardware loadbalancers (e.g. loadbalancer.org) are designed for this job.

There are free alternatives mostly using Linux/Unix which you can find out there.

MichelZ
  • 11,008
  • 4
  • 30
  • 58
  • Thank you for your answer, I can't implement a load balancer, hardware or software, but wish to failover on the client side. Will that be possible? – Joshua Lim May 25 '12 at 11:02
1

Is there a way for me to implement this without implementing clustering

No, and your question is off because it is aking to say "I need to change tires on a Mercedes". It is a car. A web service failover is nothing web service special, we talk of basically TCP connections here.

The problem is that for failover the machine reacting to a specific IP must change - without the IP changing (because DNS lookups, that would cause it, are cached, if anything then at the client machine and a failover has to happen fast, so the cache gets in the way).

SO, you NEED some kind of clustering solution. This is intrinsic to the problem. WHich is ALWAYS software - NEVER hardware, there is no hardware that does that. See, the devices you buy, also run software ;)

NLB is perfect enough for that. A "cluster" of machines has a special IP that theey all react to that services the web service and they have a decent failover mechanism.

Sorry, no way around that. There is "poor mans" failover (DNS updates) but as I said - it has timing issues with also client side caches.

TomTom
  • 50,857
  • 7
  • 52
  • 134
  • thanks for your elaborate explanation. DNS updates are no good as you mentioned and complicated as it involves DNS server. I am actually wondering, if it is possible to install some software on the client itself that will intercept and redirect the TCP traffic? – Joshua Lim May 25 '12 at 06:19
  • Well, that would be a change of the target IP address (like by using another DNS name). The best way to do that is using this server side, and frankly, when using widows, NLB is perfectly for that, simple like that. Also does a little load balancing under the act, distributing traffic. I personally prefer to use "the right tool" and NLB fits here. Any particular reason NOT to use it? – TomTom May 25 '12 at 06:39
  • the service is a shareware like application that sends out Email and SMS alarms when there's a failure with some industrial equipment. The entire system will be taken care of by electrical engineers. They won't know anything about clustering or NLB. – Joshua Lim May 25 '12 at 07:39
  • See my second answer by using a reverse proxy – MichelZ May 25 '12 at 11:20
  • 1
    Well, you have a computer application that is maintained by electricians you are running incompetent service - simple elike that. Not a NLB problem, get people qualified to do their work ;) – TomTom May 25 '12 at 11:20
  • Unfortunately this is how it works in the automation industry, electricians maintaining control systems on their own. The IT dept does not interfere due to politics. – Joshua Lim May 26 '12 at 10:45
  • I've seen many cases in which control server apps that cost tens of thousands of dollars to deploy and monitoring equipment and assets worth millions of dollars running on windows xp. – Joshua Lim May 26 '12 at 11:38
1

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.

MichelZ
  • 11,008
  • 4
  • 30
  • 58