Re: DarkStar
My experience is that DarkStar never reached its potential, for a few
reasons.
One was the "everything's a connected mesh of objects" problem, which means
that locking turns out to be more global than you'd want.
The second is that it never scaled beyond a single node -- adding nodes made
it *slower*.
The third is that the "potential" was always hyped in the marketing, and
always years and years ahead of actual delivery (and still is).
Re: What language/framework to use
Which language you use doesn't matter much. How you use that language is
much more important.
Re: Where you're at in designing your massive system
When you say "I want to access values of the other connections," it makes it
sound as if you don't have your data architecture and consistency model down
yet. You need to first decide what kinds of data is owned where, how out of
data it is allowed to be at what point at any one time, what kind of
connection quality you can require from your clients, how many consistency
classes you'll need (with ranges from "always synchronously ACID backed into
database" all the way to "ephemerally synthesized on the client")
Once you have all that, you can start figuring out how to partition the
simulation and other operations that go server-side. For example, if
locality of space is most important, then you'd probably partition all
services for a certain geographic area into a single physical node. If
locality of processing is more important, then perhaps you'll put all things
about a certain subsystem on a specific node.
Re: What I/we ended up doing
I've spent the last year writing a massively scaled system in Erlang, and
while it was alien as all get out to start out with, it's very clear that
it's a system that has been used in production for large, distributed
systems. It's not a toy, like many other pretenders, and it stands up to the
pressure when you do real things with it. You might want to look at the
following article for starting out:
http://www.metabrew.com/article/a-million-user-comet-application-with-mochiweb-part-1
If you use C++, then I suggest using boost::asio for the threading and async
networking/IO bit.
Sincerely,
jw
--
Americans might object: there is no way we would sacrifice our living
standards for the benefit of people in the rest of the world. Nevertheless,
whether we get there willingly or not, we shall soon have lower consumption
rates, because our present rates are unsustainable.
On Wed, Oct 13, 2010 at 3:33 PM, Hasse Schougaard <
has...@gm...> wrote:
> Project DarkStar/RedDwarf might be a starting point to get ideas;
>
> http://www.reddwarfserver.org/?q=content/open-source-online-gaming-universe
>
> Cheers,
> Hasse
>
>
> ------------------------------------------------------------------------------
> Beautiful is writing same markup. Internet Explorer 9 supports
> standards for HTML5, CSS3, SVG 1.1, ECMAScript5, and DOM L2 & L3.
> Spend less time writing and rewriting code and more time creating great
> experiences on the web. Be a part of the beta today.
> http://p.sf.net/sfu/beautyoftheweb
> _______________________________________________
> GDAlgorithms-list mailing list
> GDA...@li...
> https://lists.sourceforge.net/lists/listinfo/gdalgorithms-list
> Archives:
> http://sourceforge.net/mailarchive/forum.php?forum_name=gdalgorithms-list
>
|