亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

多圖片/文件服務器的實現過程是什么

發布時間:2020-10-16 15:03:19 來源:億速云 閱讀:155 作者:小新 欄目:編程語言

小編給大家分享一下多圖片/文件服務器的實現過程是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

寫在前面

圖片/文件服務器,顧名思義就是存文件唄,有的人用阿里云的現有服務,有的把文件Post到文件服務器,在文件服務器一端用一個應用程序來接收并保存,方法各不相同。老司機們各種服務器已經玩爛了。在使用圖片/文件多服務器的幾個問題就在于:

1.web上傳的文件如何post到文件服務器上及其速度如何,占用帶寬和耗時如何。

2.如何使文件均衡的分布在各臺圖片服務器上。

3.如何拓展新的圖片服務器,并保障對已分配的內容影響降到最小。

本篇分享一方面希望有經驗的司機給點意見,另一方面分享給新司機和記錄自己的歷程。

第一分鐘確定最終目標

1.各文件服務器不僅提供存儲功能,還要有對外服務能力,以降低各個Web服務器的帶寬占用和磁盤IO消耗。

2.提供簡便和容易的可橫向拓展能力

3.Async異步IO保證線程非阻塞。

4.文件快速到達圖片服務器

第三分鐘否定自己

1.否認采取Http Post圖片到圖片服務器的方式

2.否認采取Hash取模算法

3.否認使用一致性哈希,避免服務器橫向拓展后文件移動,即使是少量的

第五分鐘確定實現方式

1.把文件服務器磁盤共享出一個文件夾,作為特定用戶間“網絡磁盤”,就是說該共享文件夾,只有web服務器有權限訪問,你可以參照局域網內如何共享文件夾或者阿里云共享文件夾。

2.通過IIS虛擬目錄,將其物理路徑指向網絡磁盤。你知道共享文件夾間使用Tcp/Ip協議和Netbios協議通信。

3.配置WebConfig訪問網絡磁盤身份(用戶名和密碼)—必須配置哦

4.第一步所共享的文件,在文件服務器部署在IIS下WebApp中的一個文件下,以便暴露URL路徑。因為你知道IIS除了使用文件讀取的方式,是不可以獲取父級文件夾中的任何內容的。

4.確定根據文件名均勻分配圖片位置的方式—文件后綴名方式,后綴名采用"文件名-01"(一號服務器),后綴名采用"文件名-02"(二號服務器),隨機數使用Random來取,隨機數是幾,我們就存在幾號服務器。經過多次測試100萬次隨機,1,2,3分別得到33W次左右,保障了均衡。在將來拓展的時候,Random隨機數多開啟幾位就行了,不需要文件的移動,也沒有reshash。并且在橫向拓展服務器數量后,希望保證已有三臺服務器不繼續存儲文件,Random范圍可調。在數據庫或者緩存中我們已經存下了文件名稱,并且其有后綴名,在為前臺返回圖片URL的時候,只需要根據后綴名稱,來拼出文件服務器IP或域名。

第七分鐘按照步驟動手操作

1.部署FileServerApp,其功能是對圖片暴露URL,其實很簡單啦,建立一個Asp.Net空項目,建立出存儲圖片的文件夾。并將該文件夾共享給Web服務器,細節看最后一節的部署圖。

2.假定你已經實現文件夾共享

3.在IIS站點下新建虛擬目錄,注意物理路徑指向的是網絡共享文件夾的網絡路徑

多圖片/文件服務器的實現過程是什么多圖片/文件服務器的實現過程是什么

4.在Webconfig下  <system.web>增加 <identity impersonate="true" userName="ben" password="yourpwd" /> ,IIS對該虛擬目錄設置身份驗證為 應用程序池標識。多圖片/文件服務器的實現過程是什么

5.使用Server.MapPath可以獲取FileServer2的網絡路徑,并使用你的讀寫文件方式對目錄中的文件進行讀寫。

6.寫入文件建議使用Async的方式,異步IO會在你將IO請求包發給網絡驅動或者磁盤驅動后,返回去處理其他事情,在將來的某個時刻,文件寫入成功,狀態機恢復你的上下文并以同步的方式繼續向下執行,能大大提高你Web服務器的吞吐能力。

寫在最后的重點

如果還有模糊的地方,看這里就全明白啦

多圖片/文件服務器的實現過程是什么

以上是多圖片/文件服務器的實現過程是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黎城县| 通辽市| 海原县| 平安县| 平山县| 通海县| 普格县| 淮滨县| 雅安市| 大丰市| 西峡县| 交口县| 永胜县| 绥棱县| 师宗县| 顺昌县| 广南县| 曲阳县| 兴山县| 银川市| 巴彦淖尔市| 德庆县| 永靖县| 枣强县| 上饶市| 湖北省| 罗山县| 石门县| 文登市| 竹溪县| 溧阳市| 嵊泗县| 灌云县| 襄垣县| 西藏| 永靖县| 竹山县| 祁门县| 互助| 贵南县| 杭州市|