信息
CouchDB是一个RESTful,基于HTTP的NoSQL数据存储区。响应以简单的JSON发回,并且在生成的响应中能够utilizing ETags,以帮助缓存服务器判断数据是否已更改。
问题
是否可以使用nginx来连接CouchDB服务器集合,其中每个Couch服务器是较大集合的分片(而不是彼此的副本),并让它根据查询的特定方面确定目标分片字符串?
示例查询:
http://db.mysite.com?id=1
http://db.mysite.com?id=2
Shard Logic:
shard = ${id} % 2; // even/odd
这不是一个直接的“负载平衡”问题,因为我需要相同的请求总是在同一台服务器上结束,但我很好奇这种类型的简单路由逻辑是否可以写入nginx站点配置
如果可以,那么这个解决方案如此吸引人的原因是你可以从Couch服务器打开nginx caching of the JSON responses,并以一种非常强大和可扩展的方式很好地打包和部署整个设置。
答案 0 :(得分:1)
你可以拼凑一些东西,或者你可以使用BigCouch(https://github.com/cloudant/bigcouch)。