[Novalug] Software-based load balancing
edward.james at gmail.com
Thu Mar 8 06:58:09 EST 2012
That relates to what was going to be my next question - I didn't
spot any feedback loop from the back-end to the front-end.
A hands B a request. A waits for B to ACK. B ACk's. A hands
B another request. Prolly a really bad way to do it. Requests
can be batched to speed this up, but that's just a bandaid on
a bad idea. It's perhaps a safe way, but a very slow way.
A shovels requests to B without waiting for an ACK. When B dies,
B emails a death notice to A. A shuts down. Dunno how to make
sure that this would be sure to work though, since death might mess
up the email process. There's also one or more transactions somewhere
in the system that might get lost.
C monitors B for signs of health and keeps A posted. One more
level of complexity to deal with, and one more possible point of
failure. However, C can also monitor both/all legs of the system and
can coordinate efforts. Ie, C tells A1 that B2 died so that A1 and
B1 are going to work a bit harder. And send out an alarm.
Annoying details, agreed. I've worked with fail-over systems before
and they involve a lot of overhead that's rarely used. But when it's
needed --- it's needed big time.
Anyway, the question is how does the feedback from behind the
backend to in front of the front end work?
And while we're at it, how does the failover system notify some poor
system monkey at 2 AM that a failover occurred and he needs to come into
work STAT? Ditto for the LB system when it isn't working optimally.
If you hear some *mutterhissyspit* in the background, it's me, re-living
On 3/7/12, Brander Snaxe <brandon20va at yahoo.com> wrote:
> One issue with not load balancing all the way into the back-end is that if a
> back-end server goes down, then I need a way to remove the front-end from
> the load balancer.
More information about the Novalug