2
我正在研究庫存標準的ASP.NET MVC 3 Web應用程序(託管在IIS 7上)。該網站允許用戶上傳照片等等。關於圖像處理體系結構的設計建議
上傳過程如下:
- 用戶利用插件(目前plupload)從他們的PC選擇文件。
- AJAX調用發生到我的服務器,在HTTP POST圖像(Request.Files)
- 服務器重新調整
- 每個大小的照片被上傳到亞馬遜S3
目前的時代照片氮量,以上是使用.NET 4.0的TPL實現的「隨火隨忘」技術。
我想使上述更加靈活和健壯。例如,如果圖像處理失敗(它使用GDI,所以很可能)或S3關閉(發生這種情況),我或用戶不會知道它。
我在考慮託管WCF服務作爲Windows服務,它輪詢圖像的文件夾。
我的主要網站只是將圖像FTP到「觀看」文件夾,然後該服務將負責圖像處理和上傳。
用戶不需要立即通知該照片已完成。換句話說,現在我們顯示「您的圖片正在處理中,並且很快就可以使用」消息。
綜上所述,該服務需要:
- 調整圖像
- 將圖像上傳到S3
- 讀/寫數據庫
- 能力 「重試」 失敗的圖像
有什麼建議嗎?是FileSystemWatcher一個不錯的選擇?
好的建議,歡呼!幾個問題。 1.你可以擴展「相對成功」嗎?什麼地方出了錯? 2.如果你不得不再次做這項工作,你會再次做同樣的事情嗎? 3.你是如何主持應用程序? WCF(如果是這樣,什麼類型的綁定,例如TCP/HTTP)?普通的舊windows服務? – RPM1984
1.我們在重負載情況下的性能出現問題;在我們重新實現多線程/排隊之後,大部分情況都消失了。 2.是的。經過一些試驗和錯誤之後,我們實現了一個非常穩定的系統,可以通過一些業務邏輯操作實現可靠的數據傳輸。 3.它實際上是兩個在客戶端和服務器上通過WCF鏈接工作的鏡像(普通的老式)windows服務。 FileSystemWatcher部分是雙方的輸入點之一(其中DB是另一個)。 –
太棒了。乾杯! – RPM1984