我想設置postgres和elasticsearch。但在將數據投入到elasticsearch之前,我希望在網絡或服務器宕機時防止數據丟失。看完這個話題後:https://gocardless.com/blog/syncing-postgres-to-elasticsearch-lessons-learned/。我想出了3個解決方案。PostgreSQL with elasticsearch(保持同步) - nodeJS
創建一個數據庫表EI:
store
,任何新的/更新的數據添加到它。- 查詢過程中:插入數據到
store
。 - 選擇新的數據:
SELECT data FROM store WHERE modified > (:last modified time from elasticsearch)
- 發送 「新」 的數據到elasticsearch
- 查詢過程中:插入數據到
使用Redis的到
pub/sub
請求,並作出elasticsearch聽/認購即將到來的數據。如果彈性搜索中斷,數據將排隊在事務處理期間將任何錯誤捕獲到彈性搜索並將數據保存到安全位置(ei:
store
上述表)。然後有一個cron工作推回這個數據。
當然最簡單的事情將是插入數據馬上elasticsearch。但這樣做會阻止數據在損壞期間存儲在安全的地方。 1
在我看來太慢了,不像2
。而3
需要維護錯誤處理代碼。
現在2
是我的選擇。
有沒有更好的方法來做到這一點?我想聽聽您的意見和新建議
:d
只是好奇,怎麼會處理將刪除情況1.我只是探索選項來做你是什麼做... – FacePalm
此外,檢查了此... https://qafoo.com/blog/086_how_to_synchronize_a_database_with_elastic_search.html – FacePalm
@FacePalm看到anwser – Antartica