最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

十分鐘搞定多圖片/文件服務(wù)器

 更新時間:2017年01月04日 16:28:14   作者:坦蕩  
圖片/文件服務(wù)器,顧名思義就是存文件唄,有的人用阿里云的現(xiàn)有服務(wù),有的把文件Post到文件服務(wù)器,在文件服務(wù)器一端用一個應(yīng)用程序來接收并保存,方法各不相同。下面跟著小編一起來看下吧

寫在前面

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

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

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

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

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

第一分鐘確定最終目標

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

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

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

4.文件快速到達圖片服務(wù)器

第三分鐘否定自己

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

2.否認采取Hash取模算法

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

第五分鐘確定實現(xiàn)方式

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

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

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

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

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

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

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

2.假定你已經(jīng)實現(xiàn)文件夾共享

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

4.在Webconfig下  <system.web>增加 <identity impersonate="true" userName="ben" password="yourpwd" /> ,IIS對該虛擬目錄設(shè)置身份驗證為 應(yīng)用程序池標識。

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

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

寫在最后的重點

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

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家! 

相關(guān)文章

最新評論

大宁县| 昌邑市| 德阳市| 渭南市| 灵石县| 东方市| 股票| 资兴市| 全州县| 洪江市| 双牌县| 莆田市| 裕民县| 庆云县| 调兵山市| 台南市| 平果县| 合作市| 防城港市| 枣庄市| 宾川县| 鹤庆县| 烟台市| 江门市| 游戏| 柳江县| 买车| 盘锦市| 武城县| 汤阴县| 澎湖县| 绥中县| 卢湾区| 舒城县| 枝江市| 瓦房店市| 邳州市| 抚州市| 衡阳市| 木里| 高青县|