2011-08-15 41 views
0

我目前正在使用Flex(Flash Builder 4)並將Web服務連接到Apache PHP Zend AMF服務器以檢索數據。Flex AMF離線模式?

這很好,但我想知道哪些選項可用於容錯。

我知道我可以設置第二個服務器,當應用程序無法連接到第一個服務器時,它將切換到該服務器。對此的任何想法都會很好,但我也在考慮試着給每臺機器一些寬容。

例如,如果他們至少有能力嚮應用程序輸入數據,那將是一個開始。因此,如果他們點擊「保存」並且無法訪問服務器,則會將其緩存或存儲到本地文件,直到服務器備份。儘管缺乏數據查找可能是一個大問題。

也許已經有一些圖書館或我可以看看做這個?

+3

老實說,我的第一個想法是「你真的需要這個嗎?」如果有問題的機器,那麼用戶很可能永遠不會到達SWF。負載均衡和數據中心等事情可以幫助解決「服務器故障」風格問題。我不會嘗試在代碼中處理這種「機器故障」問題。 – JeffryHouser

+0

是的,我傾向於有第二個Apache/PHP /數據庫服務器,並設置兩者之間的同步和複製。然後,如果'server1'無法訪問,我需要做的就是flex連接到'server2'。 –

+0

我不確定你是否理解我的觀點。如果你的機器無法訪問;你的用戶是如何從它加載一個Flex應用程序的? – JeffryHouser

回答

0

到目前爲止,它聽起來就像我要麼一起去:

故障轉移解決方案(不知道具體是什麼樣) - 隨着SuperSaiyen建議,我想我需要一個特定的路由器或DNS解決方案來處理。這個想法是設備要麼將通常用於server1的流量路由到server2,要麼在dns解決方案的情況下,當server1關閉時,它將返回server2的地址進行查找。

我相信另一個解決方案是嘗試在Flex代碼中連接幾次到服務器1。如果服務器關閉,則它會嘗試server2。正如Flextras指出的那樣,只要應用程序已經加載到用戶屏幕上,就可以解決問題。對我而言,情況通常如此。實際上,我甚至可以考慮將它作爲AIR應用程序,所以如果server1上的Web服務器不可用,我不必處理初始應用程序負載。否則,如果第一臺服務器出現故障(我認爲這不是一個好的選擇),我仍然必須進行某種類型的DNS故障切換,或者將這些服務器快捷方式分配給兩臺服務器,並訓練它們嘗試第二臺服務器。

還有其他想法嗎?