Take the 2-minute tour ×
Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

I've got a slightly different approach to load balancing here, its more for maintenance and high-availability at the application rather than at the physical host.

Say I have 2 web services, which I deploy to 2 web servers. So far, its easy to set up HAProxy to load-balance between them, and to direct traffic to either host. What I'd like to do is to be able to stop 1 of the web services on a host, which should make the LB direct calls to the other host, without affecting the other web service.

So I would stop WS1 on Host1, and the LB would direct traffic to WS1 running on Host2, but WS2 would still be running on both hosts.

share|improve this question
    
I think you're confusing load balancing with redundancy. –  John Gardeniers Sep 13 '10 at 12:52
    
possible duplicate of Rolling deploys with Tomcats behind an HAProxy instance –  Warner Sep 13 '10 at 14:50
    
@Warner: Possibly mine is a dupe, I'll check out Bill's answer on that link. cheers –  gbjbaanb Sep 13 '10 at 18:38

2 Answers 2

haproxy supports this -- check out its "health check" feature.

share|improve this answer

Looks like there's already a servervault posting that answers this if I understand what your asking?

Is there a load balancer that will allow me to take down a server manually when deploying?

We use a very similar setup with Windwos Network Load Balancer, and drainstopping works great.

Edit 1:

Ok, so a few things:

  1. As a best practice, you should group servers that are similar. So if you have website A, B and C. Those same web sites should reside on all servers in a load balanced cluster. You should not have a setup where server 1 contains site A and B and server 2 contains sites A and C. The reason i mentioned this, as in your example, it wouldn't matter if you drainstopped an entire server, even if its to work on just one site. In fact, with IIS, I would highly reccomend it (assuming your using IIS).
  2. Regardless of point 1, what you could do, is have a seperate load balanced IP for each "web service" and then you could drainstop each individual site. I don't think you could expect to have one load balanced IP that's used by multiple site and expect to be able to only drainstop one. However, I'm not that keen on HAproxy, and I'd have to muck around in MS NLB to confirm that.

Does that help at all?

share|improve this answer
    
no, I'm asking can I take down a running service on a host. Not taking down the entire host. Not all systems run a single web server with all services running inside it, imagine I have 10 services all running on different ports as an example (more likely, with name-based web services all running on port 80, each one an individual exe). I want to LB each service individually. –  gbjbaanb Jan 5 '12 at 23:27
    
see my edits... –  Eric C. Singer Jan 6 '12 at 1:50

Your Answer

 
discard

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.