Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a windows service that is written in-house. This windows service services clients on TCP port X. I want to run it on more than one Windows server. I want the client apps to connect to a single (virtual I guess) IP address and for one and only one server at a time to service all clients. i.e. 1 active server and the rest are all passive servers.

How should I do this? Any hardware to recommend? I did look into Windows NLB however this seems to work at the server level only not at the application (i.e is anyone listening on a port on the server) level.

share|improve this question
up vote 1 down vote accepted

You're looking for a TCP proxy, you may be interested in looking at HAProxy for dispatching client requests to the appropriate servers. If the service is a critical one, you may for example build 2 proxies in a Active Passive scheme using CARP and a virtual IP.

share|improve this answer
+1 for HAProxy, it's the real deal. note, however that things will get complicated if the service isn't written with a shared nothing ( design in mind, at least for the layer immediately behind HAProxy. – Javier Nov 29 '10 at 9:37
HA proxy looks like it, also this page:… seems to have a setup for a web site. Does HAProxy work for any app that listens on a TCP socket, not just port 80 apps? – fred smith Nov 29 '10 at 9:57
and how do you cluster the HA Proxy itself? Is there a hardware device that behaves similarly or that can be paired up to give the HA of the device itself? – fred smith Nov 29 '10 at 9:58
You can have for example 2 OpenBSD boxes sharing a virtual IP with CARP and having HA Proxy configured on them. There's a quick CARP setup howto in the OpenBSD FAQ if i remember. And Yes HAProxy can relay on any port unencrypted TCP connections. – Maxwell Nov 29 '10 at 11:58

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.