At 03:32 PM 11/28/01 -0700, Jack Moffitt wrote:
> > Another easy option that someone on the list suggested a while back is to
> > have a front-end box that redirects the user to one of a pool of
> > machines. For example, if the user tries to access http://www.foo.bar
> > a script (maybe just a simple CGI) redirects the user to one of three
> > WebKit servers http://www1.foo.bar, http://www2.foo.bar, or
> > http://www3.foo.bar. From then on the rest of their session stays on that
> > one machine using Webware's standard in-memory session storage.
> > If I had to scale to multiple boxes for performance reasons, this is the
> > strategy I would implement first, since it seems like it's by far the
> > simplest option.
>It's simple, but not complete. Bookmarks would be for specific servers,
>not the main machine (unless you allowed them to just bookmark the main
>Also, if you left and came back, you might get to a different machine,
>which means for some applications the number of times you have to login
>There is an easy way (i think) to complete this easy solution, and that
>is to make the webware adaptor smart. Enable it to be the front end to
>a pool of servers, and use a cookie or something to store which server
>that user should be using, and direct requests to it.
Or embed the server name into the session id. For example make the session
id look like MACHINE1_872029384908. Then if the adapter finds a session id
with a server name embedded into it, it sends the request to that specific
server, otherwise it chooses one at random. This seems really easy to
achieve with minor modifications to Adapter.py's transactWithAppServer()
method, and Session.py's __init__() method. It'd be a bit more work to put
this into mod_webkit of course.
>That still doesn't let you have multiple static servers though. Perhaps
>something can be learned from Resin's handling of this? Last I looked
>there they had the most configurable scaling stuff I'd seen.
But there are plenty of existing solutions for load-balancing static sites,
right? I was under the impression that there are a number of software and
hardware solutions for that. Although I've never really looked into them
before since I've never needed to...
- Geoff Talvola