Randall Leeds wrote:
There is no reason I see why HTTP is not a valid transport for a DHT nor any
reason why it is not possible to gossip over HTTP. I think it's confusing
the issue to blame HTTP for any problem Couch has with distribution.

Enlighten me if I'm wrong, of course.
I guess that's a fair point. The thing is, though that the problem has a lot more to do with routing than transport. Something has to keep track of which nodes are up/down, as well as lowest-cost paths for moving data along.

The extreme cases are:

1. hub-and-spokes: every change ripples through a central node - no routing to worry about, but not very robust

2. point-to-point replication, where everything eventually gets to where it's going: problems are that large networks require manual configuration of lots of pairwise links, and things get brittle if the wrong link goes down

Elements of something a bit more reliable and requiring less (no) manual configuration:

3. multi-cast or broadcast protocols: send an update into the ether, everyone gets it - but... works for stuff like streaming voice or video, where a lost packet doesn't matter; doesn't work for transactions, where you need an acknowledge-and-retransmit mechanism to make sure that data eventually gets everywhere (though there are some experimental reliable multicast protocols floating around)

4. a protocol/data replication mechanism that includes some kind of self-tuning routing mechanism - examples include: UUCP, DHTs, etc.

There have been some of these built on top of HTTP, but the purist in me really dislikes violating layering.

Miles

--
In theory, there is no difference between theory and practice.
In<fnord>  practice, there is.   .... Yogi Berra


Reply via email to