[ic] New Feature Multiple DNS-entries/IP's/aliases from interchange.

Jeff Carnahan jcarnahan@networq.com
Tue, 20 Feb 2001 10:23:38 -0800


}-----Original Message-----
}Subject: Re: [ic] New Feature Multiple DNS-entries/IP's/aliases from
}interchange.
}
}
}What I would like to be able to choose a group of IP addresses or machine
}names and have them all run the same catalog.  Machine1 is the orginal
}machine.  I would like to be able to choose from every IP address aliased
}to the one physical address and run the interchange server on each of
}them.  I may have 10,000 virtual machines from the one physical interface,
}but I only have 9,900 unique IP address or DNS entries.  What I would like
}to do is choose Name1, Name2, Name3,... or WWW.XXX.YYY.ZZ1, WWW.XXX.ZZ2,
}WWW.XXX.YYY.ZZ3,... where each of these machines has only one location for
}the catalog.  i.e. from the catalog.cfg file
}

If you have a SINGLE machine running all of these domains, I don't see where
the problem lies. I have a Interchange process running on a single machine
that handles 4 catalogs, each of which has it's own website and
corresponding IP address. My machine responds to all four ip addresses.

Each website simply connects to the interchange process running on
"localhost" which is 127.0.0.1 .. The Interchange process only listens on
127.0.0.1. Of course, I could run an arbitrary number of websites on that
single machine, each utilizing the single Interchange process.

The IP address of the website is inconsequential to Interchange. Remember,
that Interchange is listening on 127.0.0.1, thus ANY website (regardless of
the address it responds to) on the SAME machine, can contact 127.0.0.1 for
Interchange services.

NOW, if you have MULTIPLE web servers that provide web services for a SINGLE
website, that is you're distributing the load for a web site across multiple
machines, you have two solutions (as I see it):

1: Create a NFS (or similar) filesystem that can be mounted over a network.
On machines that serve requests for the website, mount this common
filesystem. Now, put the Catalog for the website these machines service on
that common filesystem (or partition). Now, on each machine, run a copy of
Interchange and configure it to use the catalog on this common filesystem.

  - This will ensure that all webservers in this distributed configuration
use the same catalog information, and same user database. Thus if a user
places a item in his cart on web server one, he can do the checkout process
on web server two because they both share his personal information (and the
same catalog).

2: There are variants of the above approach. However, you must ensure that
all web servers use the common user database and order routing system. Ways
to do this:

  - Use a non-flat-file sessions database. I.e.: Use a common MySQL/Whatever
database that all web servers connect to when obtaining session information.

  - Have many web servers provide information about your products, but only
one that allows users to 'check-out' or make their purchases. This will
allow you to concentrate whatever is necessary to complete your purchase
transaction in one location (i.e.: connecting to an outside payment
organization, or incrementing a single order counter).

  - Consider upgrading your equipment if it's not appropriate for the level
of traffic your site is receiving. While Interchange is quite good, it can
only perform within the limitations of your hardware. Don't run a popular
site with 64 MB ram. Use 1 GB. Don't save session information to a machine
that's already overloaded, purchase a new one for this task... Consider all
weak links in your setup, whether they are machines, network connections,
software, or peculiarities in the checkout system that are specific to your
business.

But remember, if you do have more than one web server servicing a single
website, you absolutely MUST ensure that all of the web servers use common
session information.

--
Jeff Carnahan - jcarnahan@networq.com