On 04/06/2011 02:13 PM, Zdravko Gligic wrote:
> (1) How would two CouchDB go about discovering and meeting each other?
> Would this not require a central server (similar to IRC) and are
> there any hosted solutions?
Two instances don't discover -- they depend on *you* telling them to
replicate.
To accomplish this you post a message to /_replicate with a source and a
target:
POST /_replicate HTTP/1.1
{"source":"http://foo.bar/database","target":"database"}
Once you've triggered a replication, CouchDB takes over and figures out
the differences between the DB revisions on both instances.
Once it is done, it is done -- unless you pass continuous: true. That
sets up continuous replication, where the target will watch the source's
_changes API and replicate new docs over as needed.
For more, see http://guide.couchdb.org/draft/replication.html. It's a
great guide.
> (2) Once at least two CouchDB's discover and meet each other, is it
> just their URLs (domain name or IP based) that are needed? What about
> routers and/or firewalls?
Yep. As long as the instances can reach each other, everything should
just work (TM).
If you want to look at some other offerings, BigCouch
(https://github.com/cloudant/bigcouch) is one that I quite like. But IMO
you should get comfortable with what CouchDB provides before you go
elsewhere.
Best,
--
Owen Marshall
FacilityONE
[email protected] | (502) 805-2126