-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
37 lines (33 loc) · 1.81 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Pillow is a combined router and rereducer for CouchDB.
Dependencies (All of these are included in this git repository):
- webmachine
- ibrowse from jungerl
- etap (for testing)
- mochiweb (for webmachine)
Needless to say, it also depends indirectly on couchdb. There is no direct dependencies, but what use is a router
or rereducer for CouchDB without CouchDB.
Roadmap:
The current goal is to add resharding to Pillow.
X Automatic generation of resharding validate functions *Done*
X Automatic resharding using validate functions *Done*
X CouchDB style config files *Done*
X Resharding controlled through the config file. The [routing] section is the
original routing config. [resharding] is the intended routing config. Call
pillow_routing_table:reshard() to start replicating to the new nodes. Observe
that the replication completed before executing pillow_routing_table:flip() to
start using the new nodes. flip also updates the config. At this point, the old servers may be torn down. *Done*
X Monitoring UI that will show stats and general health of Pillow *Done*
X End-to-end resharding through a single call. Pillow will wait until replication is
complete before flipping to the new servers. Tearing down the old ones will still
be manual. *Done*
X control script
X Daemonize Pillow
X Control script handling resharding
X Time to move from deployment script to configure/make install
No clear prioritized list right now, but these are interesting features that would be beneficial:
- Consistent hashing (http://en.wikipedia.org/wiki/Consistent_hashing) to increase control over resharding
- CouchDB view server for JavaScript rereducers
- Support Bulk document API
- Support CouchApp API
- Manage replication to mirror servers making Pillow automatically set up n-server master-master replication for each
shard