Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 May 2000 11:52:13 +0200 (CEST)
From:      Luigi Rizzo <luigi@info.iet.unipi.it>
To:        Alexander Langer <alex@big.endian.de>
Cc:        freebsd-net@FreeBSD.ORG
Subject:   Re: load-balancing over routes and redundancy
Message-ID:  <200005110952.LAA30928@info.iet.unipi.it>
In-Reply-To: <20000511111946.A5785@cichlids.cichlids.com> from Alexander Langer at "May 11, 2000 11:19:46 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> I wanted to ask if we have some kind of route-balancing stuff in the
> tree/kernel?

RFC2391 (which i have not had the time to read yet) seems to deal with
the problem in some way.

I have been thinking independently for some time at this problem,
(i even had a partial implementation which has become unavailable when
my disk fell on the ground) using ipfw and forward-like rules:

basically a machine sits between your clients and the servers,
acting as a transparent redirector. Using ipfw, the machine is
instructed with a list of potential servers. When a request for
one of these arrives, the kernel installs a dynamic NAT entry
(basically a dynamic ipfw rule, which i recently implemented) for
the least loaded one (determined according to some criterion),

The criterion for load can be either number of live connections, or
traffic over some interval, etc. Being centralised, it is easy
for the redirector to know global load information and act accordingly.

When this will be done, i don;t know... and note that RFC2391
again might have similar concepts.

One more thing: win2000 (the super-duper-pro-xtra-wow version)
apparently supports some kind of clustering without a redirector
in the middle. I am trying to think how this can be implemented safely,
e.g. by electing a master node which is in charge of the
arbitration for handling the incoming requests.

	cheers
	luigi

> One crashes. Two are left.
> Now, the router could be used to ping the webservers every second or
> every 5 seconds or whatever. If the webserver doesn't response, it is
> supposed to have crashed or be under a too high load, and it is 
> left out with the forwarding of the SYN-flags.
> 
> That provides completely transparency. This is so nice, I love my
> concept. :-) You even can add more webservers without adding more IPs
> and other stuff.
> 
> Comments? Is this worse to write?
> In my eyes, this could be a kernel-module with a frontend in
> userspace, e.g. loadcontrol(8).
> Then, when you add new machines, you do something like loadcontrol
> addmachine 192.168.0.23 80,12345
> to add the machine to the cluster for the given ports 80 and 12345.
> 
> Note: This are just thoughts that I had tonight. It can even be that
> such things already exist (or are implimented similar/better in the
> kernel/userland already)
> 
> Alex
> -- 
> I need a new ~/.sig.
> 
> 
> To Unsubscribe: send mail to majordomo@FreeBSD.org
> with "unsubscribe freebsd-net" in the body of the message
> 



To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200005110952.LAA30928>