couchdb-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jan Lehnardt <>
Subject Re: Peer to peer replication
Date Sat, 07 Mar 2009 10:41:55 GMT

On 7 Mar 2009, at 11:21, David Van Couvering wrote:
>> - What protocol is used for replication across nodes?  I'm assuming  
>> it's
>>> HTTP but just checking.  In a peer-to-peer system, this sounds  
>>> like it
>>> means
>>> that each participant has to open up their HTTP port for  
>>> replication to
>>> work.  Is that correct?
>> Yes.
> Hm.  I am concerned that your Average Joe does not like the idea of  
> opening
> up their HTTP port, and probably doesn't know how to.  Folks used to  
> hacking
> with BitTorrent maybe, but that's not the target user I was really
> considering.
> I was thinking of maybe piggybacking replication messages on a  
> protocol that
> already supports push over the Internet and works for most users -  
> like
> But I'm not an expert in network protocols/security, and before I  
> jump into
> that, I am wondering if there are simpler solutions so that it's  
> Very Easy
> for Mr. Average Joe or Jill to install a CouchDB app where peer-to- 
> peer
> replication Just Works.

This an open issue, you're right. I don't think the protocol matters  
as much.
The "common trick" is to setup an intermediate server machine that all  
can push to and pull from (replication is both, push and pull). I  
don't think
XMPP magically opens ports for users :)

That said, there are a couple ways around this problem and the best is  
combine them all which I believe is what Skype does which in my  
works quite well in this regard.

[And then I start writing about the technique and when I was looking for
references, I found these, so I just give you the links and spare you my
ramblings :)]

Searching for "firewall punching" gives you some more resources.


View raw message