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>