> 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
>