The Lounge is a proxy-based partitioning/clustering framework for CouchDB.
The Lounge was originally written by Kevin Ferguson (macfergus), Vijay Ragunathan (lukatmyshu) and Shaun Lindsay (srlindsay) at Meebo.com.
There are two main pieces:
- dumbproxy: An NGINX module to handle simple gets/puts for everything that isn't a view.
- smartproxy: A python/twisted daemon that handles mapping/reducing view requests to all shards in the cluster.
As well as an assortment of smaller scripts and whatnot.
If anyone feels like packaging couchdb-lounge for some of the major distros, that would be awesome.
Dependencies
- json-c (v0.7 tested) is required for json parsing in C
- python-cjson (v1.0.5+) is required for now although support for other python json modules will likely appear
- smartproxy requires Twisted (v8.1+)
And of course, CouchDB. Currently, a patch is required to CouchDB to allow design-only replication although this will be changed in the near future to use built-in replication filters.
Install
Installation instructions can be found in the project wiki
License
Apache License 2.0
Authors
Kevin Ferguson (macfergus)
Vijay Raghunathan (lukatmyshu)
Randall Leeds (tilgovi)
Shaun Lindsay (srlindsay)
Download
You can download this project in either
zip or
tar formats.
You can also clone the project with Git
by running:
$ git clone git://github.com/tilgovi/couchdb-lounge