[erlang-questions] Twoorl: an open source Twitter clone
Wed Jun 4 00:06:18 CEST 2008
> It would be a zillion times easier if the *client* did
> all this messing around. If the client knew about N
> server address it could automatically redirect to a
> different server if the primary server failed. if the
> client knew about N machines and performed the md5(Key)
> calculation to find the correct machine then the problem
> would be very easy to solve with no messing around in the
Indeed, and I've used this strategy in the past on systems
in which we were responsible for both client and server.
It has one problem, though, which is if the network is not
completely reliable and can become partitioned - different
clients can end up using different servers, resulting in an
inconsistent state. The way around this - leader election -
works nicely in small systems but surely it doesn't scale to
millions of clients?
> The next step is (ovf course) to allow all the clients to
> collectively behave as if they were as server - I think
> therefore that the problem is really one about the base
> level of a P2P architecture and not about a twitter
> architecture per se.
I agree - but P2P architectures come with their own lot
problems (firewalls, heterogenous clients, the legal issues
related to innocent users storing someone else's illegal
So I think you're right to stress that we probably need to
talk actual numbers, and think about a "sufficiently
scalable" architecture rather than an infinitely scalable one.
More information about the erlang-questions