Ole*_*ych 8 replication couchdb pouchdb
我需要在客户端同步来自CouchDB和PouchDB的服务器数据.每个用户都有自己的数据.当他在线时,这些数据正在更新.如何在复制过程中过滤数据并仅为用户提供自己的文档?这对我来说是安全问题.
为每个用户提供一个单独的数据库是可以的,直到你开始拥有大量用户(数千),因为每个用户都需要拥有文件系统中数据库的自己的文件.根据我的经验,这会在操作系统级别产生资源问题,并使CouchDB不稳定.如果要进行分片并使用BigCouch,问题将更加严重,因为分片会创建多个文件副本.
另一种选择是CouchBase同步网关(http://docs.couchbase.com/sync-gateway/)它使用相同的CouchDB API,但您需要使用Couchbase作为服务器端DB而不是CouchDB.
另一种方法是将CouchDB与过滤复制一起使用,并为每个用户使用不同的DB用户.这可能还不够,因为通过过滤复制,您无法避免有人直接访问数据库.所以你需要将它与HAProxy之类的反向代理解决方案结合起来,以确保每个用户只访问它自己的过滤数据.