2012-04-06 65 views
1

我們希望使用Milton WebDav在我們的Web應用程序中傳輸文件,這些文件最終將作爲IaaS部署在雲環境(很可能是天青)上。 現在我們都知道,WebDAV的標準是無狀態的,因此它不應該創建雲負載平衡器任何問題,但我們是什麼不知道彌爾頓,有幾個問題:瞭解Milton WebDAV服務器與雲環境負載平衡器的搭配

1)是米爾頓實現WebDAV的,因爲它是,所有的溝通都是無狀態的嗎?我假設它通過身份驗證令牌與每個請求,但我不確定令牌存儲在服務器?它是否將其存儲在數據庫或某種緩存等?

2.)如果使用負載均衡並且有5-6個服務器來處理負載,鎖定機制是否正常工作? Milton服務器再次購買Lock Token在哪裏?

+0

- 我們剛剛測試了米頓對抗litnus測試,並且它通過了大部分測試,所以它似乎實現了基本的webdav標準。 – csn 2012-04-26 12:48:55

回答

0

我以前從未使用Milton WebDAV,但從外觀上看,它用於修改和編輯服務器上的文件。

但是Azure的本地存儲不共享。每個實例都是完全獨立的服務器。如果您修改1臺服務器上的文件,則不會將其複製到下一臺。

Azure通過上傳部署包來工作。當新實例需要啓動時,它使用部署包並啓動一個全新的服務器。

從你的角度來看,他們不共享任何共同點。因此,你永遠不會知道你打哪個服務器。

如果你有一個共享的文件存儲系統,那麼它可能是一個不同的故事。但是,使用Azure時,這種情況看起來很奇怪。具有共享EBS的Amazon EC2可能會這樣做。

1

對於遲來的評論,webdav影響負載平衡的兩個最重要的方面是摘要認證令牌(Nonce值)和鎖定令牌。

作爲資源實施者,您可以控制這兩者。鎖標記通常存儲在數據庫中(您必須在LockableResource上實現持久性的方法),以便跨服務器共享,但使用基於內存的鎖標記的情況並不少見,在這種情況下,您需要找到某種方式在服務器之間共享該信息。

如果您已實施DigestResource,摘要隨機數只是一個考慮因素。默認NonceProvider使用簡單的HashMap,因此不會在服務器之間共享。但界面很簡單,所以您可以輕鬆實現數據庫存儲。如果您的負載平衡解決方案使用粘性會話,那麼這不會成爲問題,因爲客戶端將轉到具有隨機數的服務器。

請注意,Tomcat會話複製將無助於解決上述問題,因爲webdav客戶端通常不支持cookie,因此沒有Servlet會話。