• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      云計算在搭建大規(guī)模高并發(fā)網(wǎng)站中的應(yīng)用

      2021-07-25 02:06:06黎雪王芳
      計算機與網(wǎng)絡(luò) 2021年11期
      關(guān)鍵詞:均衡器實例靜態(tài)

      黎雪 王芳

      隨著移動互聯(lián)網(wǎng)、云計算和大數(shù)據(jù)的不斷成熟,網(wǎng)站開發(fā)相關(guān)的技術(shù)已經(jīng)細(xì)分到了各個方面,采用的技術(shù)也豐富多樣。開發(fā)一個大規(guī)模高并發(fā)的網(wǎng)站,解決方案可以集中在這樣幾個環(huán)節(jié):使用高性能的服務(wù)器、高性能的數(shù)據(jù)庫、高效率的編程語言、高性能的Web容器以及高可靠性的防火墻。這些方案在一定程度上意味著從硬件設(shè)備到軟件都需要更大的投入。而云計算的興起正好解決了這個問題,使用者可以按需從可配置的資源池中獲取資源,如網(wǎng)絡(luò)、服務(wù)器、存儲資源、防火墻和應(yīng)用程序等,資源可以快速通過Internet供給和釋放,讓使用者的工作量和使用成本降低至最少。本文對如何快速搭建一個大規(guī)模高并發(fā)網(wǎng)站以及開發(fā)過程中需要使用的云計算服務(wù)進行了簡要介紹。

      大型網(wǎng)站都是從小型網(wǎng)站發(fā)展起來的,網(wǎng)站架構(gòu)也是一樣。初期,訪問量小,只需要一臺服務(wù)器,隨著業(yè)務(wù)的發(fā)展,服務(wù)器存儲空間不足只能將應(yīng)用和數(shù)據(jù)分離。網(wǎng)站訪問特點是大部分的瀏覽都只會集中在一小部分?jǐn)?shù)據(jù)上,理論上把這些數(shù)據(jù)緩存在內(nèi)存中,就可提高訪問速度。但是單一服務(wù)器能處理的訪問有限,在訪問的高峰期,服務(wù)器還是會成為網(wǎng)站的瓶頸。如果使用集群來解決高并發(fā)的問題,只要不是能彈性擴展的服務(wù)器,都滿足不了網(wǎng)站持續(xù)增長的業(yè)務(wù),此外,不同地區(qū)的用戶訪問速度也有差別。為了留住因訪問延遲而可能流失用戶,網(wǎng)站需要更快的訪問速度,這種情況可以使用CDN,讓數(shù)據(jù)盡快返回給用戶。大型網(wǎng)站發(fā)展到這里,任何單一服務(wù)器都滿足不了持續(xù)增長的業(yè)務(wù)需求,雖然基本上大多數(shù)的技術(shù)問題都可以從硬件或者軟件方面去解決,但是時間和金錢成本太高。而云計算則提供了一個良好的解決方案,幫助開發(fā)者以最高效率和最低成本輕松地開發(fā)大型網(wǎng)站。

      網(wǎng)站框架分析與設(shè)計

      網(wǎng)站整體架構(gòu)如圖1所示,網(wǎng)站靜態(tài)化的HTML頁面托管在Amazon s3存儲桶上。用戶訪問網(wǎng)站時,Route 53提供高度可用且可擴展的域名系統(tǒng)(DNS),高效地將用戶請求連接到AWS中的Elastic Load Balancing負(fù)載均衡器和Amazon S3存儲桶。當(dāng)網(wǎng)站遭遇大量的用戶請求時,Amazon ELB負(fù)載均衡器將前端流量均衡地發(fā)放到后端服務(wù)器,實現(xiàn)負(fù)載均衡,減輕單服務(wù)器處理壓力。雖然在訪問的高峰期,服務(wù)器數(shù)量還是會成為網(wǎng)站的瓶頸,但是AWS Auto Scaling可以持續(xù)監(jiān)控Amazon EC2云服務(wù)器實例運行狀況,確保它們以預(yù)定的性能水平運行。出現(xiàn)需求高峰時,AWS Auto Scaling可以自動增加受限資源的容量,添加或刪除EC2實例,根據(jù)預(yù)需求自動安排正確數(shù)量的EC2實例。同時將應(yīng)用服務(wù)和數(shù)據(jù)分離,不同特性的AWS Auto Scaling組承擔(dān)不同的服務(wù)角色,使網(wǎng)站的并發(fā)處理能力和數(shù)據(jù)存儲都得到改善。數(shù)據(jù)的讀寫操作都會直接訪問數(shù)據(jù)庫,在網(wǎng)站到達(dá)一定規(guī)模后,也會增大數(shù)據(jù)庫的壓力,這時可以通過Amazon RDS云數(shù)據(jù)庫配置2臺數(shù)據(jù)庫搭建主從關(guān)系,將一臺數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)同步到另一臺服務(wù)器上,實現(xiàn)數(shù)據(jù)庫的讀寫分離功能,從而減輕數(shù)據(jù)庫的壓力。除此之外,為了提高訪問速度,使用Amazon CloudFront內(nèi)容分發(fā)網(wǎng)絡(luò)服務(wù),智能地將用戶流量路由到性能最好的AWS邊緣站點位置以提供緩存或動態(tài)內(nèi)容。

      使用Amazon S3托管靜態(tài)網(wǎng)頁

      大型網(wǎng)站的靜態(tài)內(nèi)容包括HTML、CSS、JavaScript、圖像、視頻和其他文件,使用本地服務(wù)器的時候,這些靜態(tài)內(nèi)容是存儲在磁盤里面。隨著服務(wù)器壓力增大,每個用戶在瀏覽頁面某個圖片時,都會從服務(wù)器的磁盤里面檢索圖片,如圖2所示,一旦磁盤出現(xiàn)故障,用戶就無法獲取這個圖片。因此,需要一個海量、高并發(fā)、可靠的儲存來存放這些靜態(tài)資源。

      AWS為了滿足這種需求提供了Amazon Simple Storage Service(簡稱Amazon S3),一個公開的云存儲服務(wù),用戶可以在Amazon S3中存儲對象的容量和個數(shù)不受限制。要在Amazon S3上托管靜態(tài)內(nèi)容,首先需要創(chuàng)建一個S3存儲桶,如圖3所示,將存儲對象上傳到存儲桶中同時可獲取到該對象的URL。圖片可以直接將其URL嵌入在Web網(wǎng)頁里,無需擔(dān)心并發(fā)問題,后續(xù)也可以繼續(xù)使用cloudfront服務(wù)加速分發(fā)。

      使用S3服務(wù)后,網(wǎng)站的架構(gòu)也從圖2變成了圖4,用戶在訪問網(wǎng)站的靜態(tài)內(nèi)容時就不需要訪問服務(wù)器的磁盤,直接從S3獲取靜態(tài)內(nèi)容即可。

      使用AWS Auto Scaling組分離應(yīng)用服務(wù)和數(shù)據(jù)

      動態(tài)內(nèi)容的部分就需要一個服務(wù)器來處理。Amazon Elastic Compute Cloud(EC2)提供了可快速啟動和管理的虛擬計算環(huán)境(服務(wù)器),同時可對其計算、內(nèi)存、存儲等方面進行調(diào)節(jié)。借助AWS Auto Scaling監(jiān)控服務(wù)器的使用率,并根據(jù)需求的變化自動實時向資源組添加容量或從中刪除容量。

      如圖5所示,網(wǎng)站每天的資源需求是不一樣的,最好可以分配充足的Amazon EC2容量,以便能始終滿足最高的需求時段(圖5中是周三)。不過,這意味著運行的資源在一周的大部分時間內(nèi)都得不到充分利用。

      上述方案,成本并未得到優(yōu)化。最優(yōu)的方案是分配較少卻剛好適量的Amazon EC2實例來降低成本。如圖6所示,當(dāng)需求上升時,AWS Auto Scaling將自動添加資源容量,當(dāng)需求下降時,AWS Auto Scaling將自動刪除多余的資源容量,節(jié)省開支,這樣才是最理想的方案。

      同時,為了支持業(yè)務(wù)的進一步發(fā)展,應(yīng)該將應(yīng)用服務(wù)和數(shù)據(jù)的服務(wù)器分離管理,不同特性的服務(wù)器組承擔(dān)不同的服務(wù)角色如圖1所示,這樣可以使網(wǎng)站的并發(fā)處理能力和數(shù)據(jù)存儲都得到很大提升。

      使用Amazon ELB分配流量

      當(dāng)開啟多個EC2實例時,還需要考慮如何統(tǒng)一高效地管理這些虛擬服務(wù)器,把流量合理地分發(fā)到這些虛擬服務(wù)器上。

      彈性負(fù)載均衡器Elastic Load Balancing(ELB),將訪問的流量分配到多個EC2實例之間。如圖7,負(fù)載均衡器充當(dāng)在服務(wù)器前面的“交通警察”,并能夠最大限度地提高速度和容量利用率,以滿足客戶端的請求,并確保沒有任何服務(wù)器超負(fù)荷運行。如果單個服務(wù)器崩潰,負(fù)載均衡器會將流量重定向到剩余的在線服務(wù)器。同時,ELB可與自動擴展AWS Auto Scaling相集成,讓負(fù)載均衡器掛載到現(xiàn)有的Automatic Scaling組中,如圖8。掛載負(fù)載均衡器之后,當(dāng)其中有EC2運行狀況不佳或不可用時,AWS Auto Scaling將啟動未受影響的新實例,負(fù)載均衡器會自動開始向其發(fā)送請求。當(dāng)運行恢復(fù)到正常狀態(tài)時,負(fù)載均衡器和Automatic Scaling會相應(yīng)地調(diào)整并將流量重新平均分配。

      使用Ainazon RDS實現(xiàn)讀寫分離

      在數(shù)據(jù)庫層面實現(xiàn)高可用,通常是在軟件層面來做。例如,MySQL的主從模式(Master-Slave)能滿足需求。Amazon RDS服務(wù)可以讓用戶非常容易且方便地管理關(guān)系型數(shù)據(jù)庫,使用Amazon RDS創(chuàng)建Mysql實例,利用mysql數(shù)據(jù)庫提供的主從備份的機制,實現(xiàn)mysql數(shù)據(jù)庫的熱備份。同時,RDS提供了可讀副本,在創(chuàng)建數(shù)據(jù)庫實例時,同時創(chuàng)建一個副本接收客戶端的讀請求,然后返回結(jié)果給客戶端,減輕主數(shù)據(jù)庫的負(fù)載壓力。

      使用Amazon CloudFront提供緩存

      Internet的統(tǒng)計表明,超過80%的用戶經(jīng)常訪問20%的網(wǎng)站內(nèi)容,因此,使用緩存服務(wù)器可以處理大部分客戶的相同請求,加快響應(yīng)時間。如果內(nèi)容是首次請求,CloudFront將從Amazon S3存儲桶或者EC2檢索內(nèi)容。而對于不是首次的請求,那么內(nèi)容已經(jīng)緩存在邊緣站點上,用戶再次請求時,Cloud Front會從延遲最短的邊緣站點提供給用戶,無需重新檢索。

      近幾年來,云計算取得了飛速的發(fā)展與翻天覆地的變化,逐漸成為信息技術(shù)產(chǎn)業(yè)發(fā)展的戰(zhàn)略重點。云計算與傳統(tǒng)的網(wǎng)絡(luò)應(yīng)用模式相比,其具有虛擬化、可動態(tài)擴展、按需使用、靈活性高、兼容性強、可靠性高、性價比高以及可高效擴展應(yīng)用的優(yōu)勢。使用云計算替代傳統(tǒng)IT解決方案是大勢所趨,本文基于亞馬遜云服務(wù),實現(xiàn)負(fù)載均衡、彈性調(diào)節(jié)服務(wù)器數(shù)量,降低了數(shù)據(jù)庫壓力;同時利用CDN提供緩存,最終形成一個高并發(fā)、高可用的網(wǎng)絡(luò)架構(gòu)。

      猜你喜歡
      均衡器實例靜態(tài)
      靜態(tài)隨機存儲器在軌自檢算法
      無線傳感網(wǎng)OFDM系統(tǒng)中信道均衡器的電路實現(xiàn)
      電子器件(2015年5期)2015-12-29 08:42:39
      一種基于LC振蕩電路的串聯(lián)蓄電池均衡器
      機床靜態(tài)及動態(tài)分析
      機電信息(2015年9期)2015-02-27 15:55:56
      具7μA靜態(tài)電流的2A、70V SEPIC/升壓型DC/DC轉(zhuǎn)換器
      完形填空Ⅱ
      完形填空Ⅰ
      50t轉(zhuǎn)爐靜態(tài)控制模型開發(fā)及生產(chǎn)實踐
      上海金屬(2013年6期)2013-12-20 07:57:59
      基于LMS 算法的自適應(yīng)均衡器仿真研究
      基于概率軟切換的兩級雙模盲均衡器
      华宁县| 长春市| 谷城县| 香河县| 天峻县| 原平市| 南涧| 固安县| 新蔡县| 阜康市| 吴忠市| 青州市| 正镶白旗| 玉环县| 扬州市| 兖州市| 林周县| 营山县| 新巴尔虎右旗| 湄潭县| 丹凤县| 湄潭县| 卢湾区| 宁阳县| 延吉市| 吉木萨尔县| 南木林县| 宝应县| 潞西市| 松阳县| 巴楚县| 永善县| 襄垣县| 鄂州市| 专栏| 穆棱市| 南皮县| 衡水市| 彭州市| 疏勒县| 密山市|