Date: Thu, 19 Nov 92 18:29:03 +0100 From: Tim Berners-Lee <timbl@www3.cern.ch> Message-Id: <9211191729.AA00355@www3.cern.ch> To: K.Hoadley@directory.rl.ac.uk Subject: Re: hangs/multiple servers Cc: www-talk@nxoc01.cern.ch > Date: Thu, 19 Nov 1992 09:38:35 +0000 (GMT) > From: Kevin Hoadley <K.Hoadley@directory.rl.ac.uk> > The simple way to provide multiple servers would be to > register the server name in the DNS with multiple A > (address) records pointing to different machines. Then > the clients could be mod'ed could try the second or third > ... addresses if they couldn't get through to the first. Ok, This seems a bery good idea, if that is the functionality which DNS supports. <practical> Let's try it.... Anyone care to mod HTTP.c? It's not obvious from the gethostbyname that one is allowed to refer to different machines: struct hostent { char *h_name; /* official name of host */ char **h_aliases; /* alias list */ int h_addrtype; /* host address type */ int h_length; /* length of address */ char **h_addr_list; /* list of addresses from name server */ }; That look like a list of aliases for one machine, rather than a list of machines for one alias! But maybe the reverse will work. So all machines support char **h_addr_list rather than the older h_addr? We can probably differentiate using #ifdef h_addr which is set to a macro if there IS a list. I assume you need then separate entries for the virtual duplicate node and the actual real nodes, so that you can speak to them sepately. Is this normal and OK? </practical> > How you keep info upto date accross multiple servers is > a different matter, need some form of replication a la > DNS zone transfers (or Quipu's extensions to X.500 ) ... > Mind you, replication within www is a harder issue: a > server might be sitting in front of datasets too large > to sensibly duplicate. > > Kevin Hoadley, Rutherford Appleton Laboratory >