add webdb node service for faster webapp performance
using the production bitmask.net webapp has made me realize the obvious: it is painfully slow to have a webapp in seattle and it's database in cambodia. but it works, and that is kind of cool.
the main purpose of the couchdb is to store soledad data. eventually, probably 99% of the database will be soledad data.
the web app doesn't need much data: pretty much just a users, identities, tickets, and sessions databases.
it would be cool to be able to have a couchdb replica running local to the webapp, or very close by, that was just the stuff needed by the webapp. this would give the webapp reasonable performance.
soledad is very latency tolerant, since it just syncs when it can. but webapps are not. so it makes sense to have the main bigcouch servers spread out, even in slow far flung places, but to have a copy of the stuff the webapp needs very close or on the same server as the webapp.
this issue is to add a new node service type called "webdb".
- webdb would be a bigcouch replica with only the needed databases.
- only webapp nodes in the same location would be configured to use it.
- the haproxy configuration on webapp should be configured to weight the local webdb node heavily, if one exists, but fall back to others if it dies.
this is not high priority, but would be a nice addition.
(from redmine: created on 2013-07-07)