2014-11-05 62 views
0

我打算使用Node.js和流星框架與mongoDB一起創建一個Web應用程序。這個應用程序對於商業運作至關重要,所以理想情況下它應該能夠處理網絡故障。這可能嗎?或者我唯一的選擇是創建一個獨立的應用程序?該應用程序可能會運行在PC或平板電腦上。網絡故障期間Node.js Web應用程序的業務限制

這是否有任何現有的解決方案?

我的一個想法是,是否有可能在機器上擁有用戶數據庫的本地緩存。網絡啓動時,可能不會使用此緩存,但會不斷更新。但是當網絡發生故障時,連接將切換到這個數據庫,這樣操作可以像往常一樣繼續。網絡備份後,此數據庫將與我們的服務器同步並返回到正常模式。

在PC的情況下,我們可能會手動運行本地服務器來獲取網頁備份。但我想不出平板電腦的解決方案。

+1

更好的解決方案是使用離線存儲,如localStorage的。當應用程序檢測不到連接時,切換到脫機存儲並在其返回時進行同步。 – 2014-11-05 11:09:22

+0

我猜測沒有任何信息會以任何方式敏感,您的任何用戶都可以看到其他用戶的數據以及存儲在您應用中的任何其他信息。如果情況並非如此,那麼您應該以不同的方式來看問題,並尋求在離線狀態下向用戶呈現流暢體驗的方式。或者,也許可以將您的應用程序中符合/不可脫機使用的部分細分。離線數據存儲的適當工具比本地存儲和包裝要好。 – 2014-11-05 11:35:20

回答

1

這聽起來像你正在尋找PouchDB。它與CouchDB一起作爲後端而不是Mongo,但我認爲這兩者非常相似。 PouchDB是客戶端設備上的本地基於Javascript的數據庫。一旦客戶端再次聯機,它會與'真正的'數據庫同步。

我不隸屬於他們,我每天也使用Mongo,從未真正嘗試過CouchDB,但可能值得一看。

+0

這就是我正在尋找的東西,太糟糕郵袋不適用於Mongo。但我發現了一個更好的解決方案。看來Meteor實際上支持這個開箱即用。 – harinsa 2014-11-05 12:29:01