2012-03-21 133 views
0

我想開發一個「容錯」的網絡應用程序,請讓我解釋一下:如何實現容錯Web客戶端?

假設一個餐廳的應用程序作爲服務提供(沒有安裝,服務器,備份等) 。

問題是,如果互聯網發生故障,餐廳就會停止。 爲了解決這個問題,我希望餐廳(服務員,廚房,收銀員等)中的所有客戶都有最近發生的所有事件,所以請繼續操作,直到互聯網再次啓動。

請注意,問題不是事件的存儲,而是分佈。例如,服務員發出的訂單事件必須提供給收銀員。

我一直在嘗試使用分佈式緩存,這些分佈式緩存被嵌入爲applet,但有一些限制。

您是否看到一種方法來僅使用javascript或任何應該考慮的設計選項來實現此類需求?

回答

2

您顯然需要在客戶端存儲一定數量的數據。看看像AppCache,IndexedDB等技術。我還沒有讀過這篇特別的文章,但它看起來像一個很好的介紹:http://blogs.msdn.com/b/ie/archive/2011/09/27/building-offline-experiences-with-html5-appcache-and-indexeddb.aspx

+0

問題不是事件的存儲,而是分佈。例如,服務員發出的訂單事件必須提供給收銀員。 – 2012-03-22 12:23:30

+0

我的想法是,您將保留每個客戶端上的本地IndexedDB數據庫與所有最近的事件等,不斷與在線服務器同步。如果互聯網連接斷開,每個人仍然可以訪問所有最近發生的事件,但在互聯網連接重新啓動之前,您將無法分配新的連接。但是你希望能夠不斷創建新的事件並將它們分發給不同的客戶端,而不需要連接互聯網和本地服務器? – 2012-03-22 12:33:21

+1

我想要餐廳繼續運行,不管是什麼:)甚至可以有一個本地服務器,但它必須自動啓動,而客戶甚至不必知道它。 – 2012-03-22 15:41:31