亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

寫在前面

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

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

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

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

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

第一分鐘確定最終目標(biāo)

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

2.提供簡(jiǎn)便和容易的可橫向拓展能力

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

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

第三分鐘否定自己

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

2.否認(rèn)采取Hash取模算法

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

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

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

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

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

4.第一步所共享的文件,在文件服務(wù)器部署在IIS下WebApp中的一個(gè)文件下,以便暴露URL路徑。因?yàn)槟阒繧IS除了使用文件讀取的方式,是不可以獲取父級(jí)文件夾中的任何內(nèi)容的。

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

第七分鐘按照步驟動(dòng)手操作

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

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

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

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

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

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

寫在最后的重點(diǎn)

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

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

相關(guān)文章

  • gridview行索引獲取方法及實(shí)現(xiàn)代碼(非js版)

    gridview行索引獲取方法及實(shí)現(xiàn)代碼(非js版)

    前一篇是用Javascript獲取GridView的行索引,此篇Insus.NET使用非Javascript獲取GridView的行索引,感興趣的朋友可以了解下
    2013-01-01
  • 在.NET程序崩潰時(shí)自動(dòng)創(chuàng)建Dump的思路詳解

    在.NET程序崩潰時(shí)自動(dòng)創(chuàng)建Dump的思路詳解

    本文主要是介紹了如何在dotNet程序崩潰時(shí)自動(dòng)創(chuàng)建Dump,Windows上的方法對(duì)于.NET Freamwork和.NET Core版本都適用,.NET Core全平臺(tái)版本的話需要注意環(huán)境變量支持的.NET版本,對(duì).net程序崩潰自動(dòng)創(chuàng)建Dump相關(guān)知識(shí)感興趣的朋友一起看看吧
    2022-11-11
  • .NET Core單元測(cè)試的兩種方法介紹

    .NET Core單元測(cè)試的兩種方法介紹

    這篇文章介紹了.NET Core單元測(cè)試的兩種方法,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • asp.net使用母版頁(yè)中使用ajax腳本取數(shù)據(jù)

    asp.net使用母版頁(yè)中使用ajax腳本取數(shù)據(jù)

    因母版頁(yè)繼承自UserControl,我們無(wú)法像正常頁(yè)面那樣使用Jquey或Ajax的PageMethods等無(wú)刷新方法取數(shù)據(jù)。不過(guò)可以使用ajax提供的Sys.Net.WebRequest來(lái)解決這一問(wèn)題。
    2010-09-09
  • 詳解ASP.NET頁(yè)面生命周期

    詳解ASP.NET頁(yè)面生命周期

    這篇文章主要為大家介紹了ASP.NET頁(yè)面生命周期,熟悉頁(yè)面生命周期非常重要,這樣我們才能在生命周期的合適階段編寫代碼,需要的朋友可以參考下
    2015-12-12
  • 詳解.Net Core 權(quán)限驗(yàn)證與授權(quán)(AuthorizeFilter、ActionFilterAttribute)

    詳解.Net Core 權(quán)限驗(yàn)證與授權(quán)(AuthorizeFilter、ActionFilterAttribute)

    這篇文章主要介紹了.Net Core 權(quán)限驗(yàn)證與授權(quán)(AuthorizeFilter、ActionFilterAttribute),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Asp.Net Core簡(jiǎn)介與安裝教程

    Asp.Net Core簡(jiǎn)介與安裝教程

    這篇文章主要為大家詳細(xì)介紹了Asp.Net Core簡(jiǎn)介與安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Asp.net后臺(tái)調(diào)用js 2種方法

    Asp.net后臺(tái)調(diào)用js 2種方法

    這篇文章主要介紹了Asp.net后臺(tái)調(diào)用js的二種方法,大家參考使用吧
    2013-11-11
  • WPF中常用的布局容器介紹

    WPF中常用的布局容器介紹

    這篇文章介紹了WPF中常用的布局容器,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-04-04
  • ASP.NET MVC4之js css文件合并功能(3)

    ASP.NET MVC4之js css文件合并功能(3)

    這篇文章主要介紹了ASP.NET MVC4之js css文件合并功能,使用BundleConfig可以將多個(gè)文件請(qǐng)求和并成一個(gè)請(qǐng)求,去除文件中的一些注釋,空白,起到優(yōu)化網(wǎng)站的作用,需要的朋友可以參考下
    2015-08-08

最新評(píng)論