[vworld-tech] Distributed worlds (was: ...what are people working
on?)
Alex Chacha
achacha at hotmail.com
Tue Dec 30 12:25:07 PST 2003
>On Tue, 30 Dec 2003 10:53:30 -0600 "Weston Fryatt" <wfryatt at muuf.com>
>wrote:
>And that is what I'm trying to avoid. I feel by distributing the servers
>and having multiple of them will help to prevent a single point of failure.
The problem I ran into early in my server development was database
synchronization (and cache synchronization for that matter). I am assuming
that each server serves some purpose, the problem is that you now have many
points to secure against attacks, each server-type cluster needs some
central load balancing to account for hardware failure and there needs to be
some way for servers to synchronize with others of their type (would be
interesting if one weather server reports that it is raining, while other
reports that the rain ended and it is sunny). This actually turns out to be
a horrendous problem in the long run.
At design time, you need to determine where the most CPU cycles will be
spent and separate that functionality into a process that can be distributed
onto many machines to allow scaling based on load (this is nothing new and
generally how servers are written that can be CPU heavy, in the web world
these are the application servers).
You still have to create a local cluster of login servers load balanced by a
hardware switch (F5 Resonate or similar). Login servers need to work off of
1 database to avoid synchronization issues with clients changing settings,
CS changing settings, etc. There needs to be 1 source for valid user info
that is always in synch regardless of where it is accessed from (or you may
leave yourself open to exploits and other CS headaches).
After user logs in, they can be passed over to the "virtual world" server,
but the problem is that each world server should have a database (or some
form of data storage) that is consistent across all the servers that access
that particular world. You don't want one user seeing a MOB run by, while
another user across the world see nothing due to lag or other
synchronization issues.
While your idea may have merit, that is dependent on the game design of your
virtual world. Designing a network topology for the sake of being different
can be seen as the old saying: "Those who igonre history and doomed to
repeat it".
I am curious, which aspect of your world design would require distribution
of servers across locations and how are you storing static data?
_________________________________________________________________
Get reliable dial-up Internet access now with our limited-time introductory
offer. http://join.msn.com/?page=dept/dialup
More information about the vworld-tech
mailing list