== Welcome to CouchProxy CouchProxy is a simple proxy server that distributes reads and writes to a cluster of Apache CouchDB servers so they appear to be a single huge database. Documents are stored and retrieved from a particular CouchDB instance, using consistent hashing of the document id. Map/reduce views are processed concurrently on each CouchDB instance and merged together by the proxy before returning the results to the client. CouchProxy uses the Thin web server and EventMachine for asynchronous IO. There are no blocking IO calls in the server, which allows it to handle many clients and many backend CouchDB nodes concurrently, using very little processor and memory. == Usage 1. gem install couchproxy 2. couchproxy config 3. Configure CouchDB nodes in couchproxy.yml 4. couchproxy start == Dependencies * em-http-request >= 0.3.0 * json >= 1.5.1 * json-stream >= 0.1.1 * thin >= 1.2.11 * rbtree >= 0.3.0 * ruby >= 1.9.2 == Ubuntu setup $ sudo apt-get install build-essential ruby1.9.1 ruby1.9.1-dev couchdb == Contact Project contact: David Graham <david.malcom.graham@gmail.com> == License CouchProxy is released under the MIT license. Check the LICENSE file for details.
Project
couchproxy
CouchProxy is a simple proxy server that distributes reads and writes to a
cluster of Apache CouchDB servers so they appear to be a single huge database.
Documents are stored and retrieved from a particular CouchDB instance, using
consistent hashing of the document id. Map/reduce views are processed
concurrently on each CouchDB instance and merged together by the proxy before
returning the results to the client.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
Development
Dependencies
Runtime
Project Readme