我们需要将
这需要尽可能接近实时,我们不能仅导出
我的初步想法是运行一个
我的下一个想法是维护一个“已更改项目”的列表,并在每次创建/更新项目时写入该列表,类似于Firebase工作队列示例。队列可以包含已更改数据的完整路径,工作程序只需消耗该路径并相应地更新本地数据库。
这里的问题是每个进行更新的代码都必须记得写入此队列,否则两个系统将不同步。编写一些代理代码应该不太困难。有其他人成功地做过类似的事情吗?
Firebase
数据与其他数据库
同步,以进行全文搜索
(在ElasticSearch
中)和其他Firebase不容易支持的查询。这需要尽可能接近实时,我们不能仅导出
Firebase JSON
的每夜转储之类的东西,除了这会变得相当大之外。我的初步想法是运行一个
Node.js
客户端,监听所有主列表的child_changed
、child_added
、child_removed
等事件,但这可能会变得有点笨重,如果客户端在一段时间后重新连接,它是否是一种可靠的同步方式?我的下一个想法是维护一个“已更改项目”的列表,并在每次创建/更新项目时写入该列表,类似于Firebase工作队列示例。队列可以包含已更改数据的完整路径,工作程序只需消耗该路径并相应地更新本地数据库。
这里的问题是每个进行更新的代码都必须记得写入此队列,否则两个系统将不同步。编写一些代理代码应该不太困难。有其他人成功地做过类似的事情吗?