Node.js 带elasticsearch的Postgres(保持同步)-nodeJS
我想建立postgres和elasticsearch。但在将数据放入elasticsearch之前,我想防止网络或服务器停机时数据丢失。阅读本主题后:。我想出了3个解决方案Node.js 带elasticsearch的Postgres(保持同步)-nodeJS,node.js,postgresql,
elasticsearch,redis,synchronization,Node.js,Postgresql,
elasticsearch,Redis,Synchronization,我想建立postgres和elasticsearch。但在将数据放入elasticsearch之前,我想防止网络或服务器停机时数据丢失。阅读本主题后:。我想出了3个解决方案 创建数据库表ei:存储,并向其中添加任何新的/更新的数据 查询过程中:将数据插入存储 选择新数据:从修改的存储中选择数据>(:elasticsearch的上次修改时间) 将“新”数据发送至elasticsearch 使用redis发布/订阅请求,并使elasticsearch侦听/订阅即将发布的数据。如果elastics
存储
,并向其中添加任何新的/更新的数据
- 查询过程中:将数据插入
存储
- 选择新数据:
从修改的存储中选择数据>(:elasticsearch的上次修改时间)
- 将“新”数据发送至elasticsearch
store
上述表格)。然后使用cron作业将这些数据推回当然,最简单的方法是直接将数据插入elasticsearch。但这样做可以防止数据在腐蚀期间存储在安全的地方<代码>1在我看来太慢了,不像
2
。而3
需要保留错误处理代码
目前,2
是我的选择
有更好的方法吗?我想听听你的意见和新的建议 :DRedis(2)不可靠 我决定直接将数据添加到elasticsearch,并将数据添加到
updates
表中。然后在连接到elasticsearch客户端后直接运行sync()
功能(如果之前集群宕机)+每24小时运行一次cron作业以启动sync()
。sync()
所做的就是从更新A和elasticsearchB中选择最新数据(时间或id),并比较是否有记录A>B
。如果是,请使用批量API插入数据
希望这有帮助:)
我仍然乐于接受建议和反馈 好奇的是,我们将如何处理案例1的删除。我只是在探索一些方法来做你正在做的事情…还有,看看这个@FacePalm see Anwser是我的新问题: