On Apr 21, 2010, at 8:33 AM, Miles Fidelman wrote: > J Chris Anderson wrote: >> On Apr 20, 2010, at 7:29 PM, Miles Fidelman wrote: >> >>> I've been looking, but can't seem to find any good documentation of the >>> inter-node protocol used for replication. >>> >> As far as I know, the best source for documentation is the code, right now. >> > <snip> >> This is the hard coding (in Ruby) I had to add, to used the CouchDB >> replicator to pull from the Booth server: >> >> http://github.com/jchris/booth/commit/2deff74e03838a6e7ef95b725c4342a08239a2b8#commitcomment-68685 >> >> > aaarrrgggh...... > > I don't suppose anyone out there has scribbled down anything resembling a > sequence diagram or flowchart or list of bullet points or something that > summarizes the steps that happen, and the code that gets run when POST > /_replicate is invoked, or an ASN.1-like summary of the messages that get > exchanged between two couch instances during replication
Miles, at a high level it looks like this: http://dl.dropbox.com/u/237885/nyc-nosql-replicator.png There are some added details regarding efficient replication of document attachments, and of course that slide doesn't describe the request and response formats for those 4 resources. But that's the sequence of steps that the replicator loops through. Adam > > right now, replication reminds me of the old Sidney Harris Cartoon, "then a > miracle occurs" (http://www.sciencecartoonsplus.com/pages/gallery.php) > > -- > In theory, there is no difference between theory and practice. > In<fnord> practice, there is. .... Yogi Berra > >
