Article delegate-en/802 of [1-5169] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A794@delegate-en.ML_>]
Newsgroups: mail-lists.delegate-en

[DeleGate-En] Re: how to set up delegate as a load balancing web server
22 May 2000 09:04:11 GMT ysato@etl.go.jp (Yutaka Sato)


On 05/16/00(10:43) you "CIOS/Comserve Support Staff" <pdibqbdyi-bfkmicbeir3r.ml@ml.delegate.org> wrote
in <_A794@delegate-en.ML_>
 |    In our situation we have three physical machines running OS/2, each
 |with its own IP address:  206.72.192.20 (cios.org), 206.72.192.21
 |(ciosmail.cios.org), 206.72.192.22 (shadow.cios.org).
 |
 |    Our web server is on 206.72.192.20 (cios.org) but it's topping out
 |on some of the functions it performs (too many hits at once) and we'd
 |like to spread out the load across one or both of our other two
 |machines, which are mostly idle.  However, this needs to be transparent
 |to the remote user of our web services (e.g., they always contact
 |"www.cios.org" even though they might reach the web server at port 289
 |on shadow.cios.org).
 |
 |    Do you have any sense for how to set this up in delegate?

As long as I know, the simplest way to do it is setting your DNS
server to return the multiple IP addresses of hosts of your
alternative HTTP servers for the query on "www.cios.org".  But I
don't know a usual way to realize a single virtual server merging
multiple servers running on port numbers different from each other.

With DeleGate, you can do it in several ways although every HTTP
communication must be relayed by a DeleGate server at the
representative machine ("www.cios.org" in your case).
I myself have never tried this but I think the following will do.

1) static MOUNT

  delegated -Pwww.cios.org:80 \
            SERVER=http \
            MOUNT="/* http://206.72.192.20:280/*" \
            MOUNT="/xxx/* http://206.72.192.21:289/xxx/*"

  -- only http://www.cios.org/xxx/* is served by the second server

2) round-robin HOSTS

  delegated -Pwww.cios.org:80 \
            SERVER=http://servers:289 \
            HOSTS="servers/{206.72.192.20,206.72.192.21}" \
            HOSTS="*/*/RR"

  -- port number of servers must be the same (289 in this case)

3) conditional MOUNT

  delegated -Pwww.cios.org:80 \
            SERVER=http \
            MOUNT="/* http://206.72.192.20:280/* from=[0-255].*.*.[0-127]" \
            MOUNT="/* http://206.72.192.21:289/* from=[0-255].*.*.[128-255]"

  -- a server is selected based on the IP-address of the client

4) ICP

  Only if your HTTP server supports ICP... (it is not likely)

5) VSAP

  Only if your HTTP server is DeleGate... (it is not likely)


I think the approach 3) can be recommendable, and I feel introducing
random selection of alternative equivalent MOUNTs can be useful.

Cheers,
Yutaka
--
Yutaka Sato <ysato@etl.go.jp> http://www.etl.go.jp/~ysato/   @ @ 
Computer Science Division, Electrotechnical Laboratory      ( - )
1-1-4 Umezono, Tsukuba, Ibaraki, 305-8568 Japan            _<   >_

  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V