On Mon, 30 Apr 2001, Joseph Mack wrote:
>
> > I have to expect problems, if the page is created by a CGI and
> > contains dynamically created GIFs it it, as the hits for these gifs
> > will land on a different realserver than the one where the cgi runs.
>
> How is this a problem? I think it works this way...
> The browser says to VIP:80
> "GET /index.html"
>
> the httpd passes index.html to the client. The page assembles on the
> client, where it finds a cgi instruction (say a page counter).
> The client then says to VIP:80 to execute page_counter.cgi. Do you
> care whether page_counter.cgi is on the wrong real-server? Even if the
> cgi needs a whole lot of parameters, they'll still be coming from the
> client.
>
> > -> will I need persistence even for this simple case, which has not yet
> > anything to do with session handling?
>
> I'm not sure yet. I'll wait for your answer.
>
I am running an astrology site; a typical request is to a CGI which
creates an astrological drawing, based on some form data; this drawing
is stored as a temporary GIF file on the server.
A html page is output by the CGI which contains a reference to this GIF.
The browser receives the html, and then requests the GIF file from the
server. It will mostly hit a different server than the one who created
the GIF.
So either we make sure that the new client request for the GIF hits
the same realserver which ran the CGI (i.e. have persistence) or we must
create the GIF on a shared directory, so that each realserver sees it.
Most of the content we serve is created dynamically on the fly, there
are relatively few static pages in our server (this is why we need a LVS,
because of the high computational load).
|