收听CouchDB中所有数据库的更改

时间:2017-07-14 06:43:02

标签: couchdb

我有一个场景,其中有多个(~1000 - 5000)数据库是在CouchDB中动态创建的,类似于"每个用户一个数据库"战略。每当用户在任何数据库中创建文档时,我都需要点击现有的API并更新该文档。这不必是同步的。短暂的延迟是可以接受的。我想到了解决这个问题的两种方法:

  1. 持续收听_global_changes数据库的更改Feed。

    • 获取从Feed更新的数据库名称。
    • 使用seq(存储在redis中)调用/{db}/_changes API。
    • 获取已更改的文档,调用我的外部API并更新文档
  2. 将所有数据库连续复制到一个数据库中。

    • 收听此数据库的/_changes Feed。
    • 获取已更改的文档,调用我的外部API并更新原始数据库中的文档(我可以轻松跟踪哪个文档最初属于哪个数据库)
  3. 问题:

    1. 上述任何一个都有意义吗?它会扩展到5000个数据库吗?
    2. 我如何处理失败?对所有文档命中API至关重要。
    3. 谢谢!

0 个答案:

没有答案