I am seeking comments from you Swazoo wizards on the following
application architecture.
We are building a web based system with the following broard
architecture:
* Squid as the edge service taking all http hits.
* A GemStone server running ...
o Multiple gems, each running Swazoo
o The business logic
o Persistance
Swazoo will be used as the primary server for everything. Squid will
cache the static stuff and serve it straight out of it's cache for all
the static stuff. Only dynamic bits will be passed onto the Swazoo
servers once the Squid cache is populated.
Squid can do reasonable load distribution based on simple round-robin,
least used or least loaded algorythms.
As far as possible, the application logic behind Swazoo will be
stateless, with cookies being used to hold session state information.
If we can get the application logic to be 100% session stateless, we will
allow inbound connections to be server by any gem. Otherwise, we'll have
to have clients always go back to the same gem, once
connected.
GemStone takes care of all the persistence issues, of course. Backup is
run by cron, and then rsync'd to a backup server, and then burned on to
DVD.
Your comments would be very welcome.
Many thanks,
Bruce