版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
大型互聯網相關技術
目錄網站架構發(fā)展歷史負載均衡CDN分布式緩存分布式數據庫服務化消息隊列一、最開始的網站架構最初的架構,應用程序、數據庫、文件都部署在一臺服務器上二、應用、數據、文件分離隨著業(yè)務的擴展,一臺服務器已經不能滿足性能需求,故將應用程序、數據庫、文件各自部署在獨立的服務器上,并且根據服務器的用途配置不同的硬件,達到最佳的性能效果。三、利用緩存改善網站性能使用緩存主要源于熱點數據的存在,大部分網站訪問都遵循28原則(即80%的訪問請求,最終落在20%的數據上),所以我們可以對熱點數據進行緩存,減少這些數據的訪問路徑,提高用戶體驗。四、使用集群改善應用服務器性能提高系統(tǒng)的吞吐量提高系統(tǒng)的高可用五、數據庫讀寫分離和分庫分表隨著用戶量的增加,數據庫成為最大的瓶頸,改善數據庫性能常用的手段是進行讀寫分離以及分庫分表,讀寫分離顧名思義就是將數據庫分為讀庫和寫庫,通過主備功能實現數據同步。分庫分表則分為水平切分和垂直切分,水平切分則是對一個數據庫特大的表進行拆分,例如用戶表。垂直切分則是根據業(yè)務的不同來切分,如用戶業(yè)務、商品業(yè)務相關的表放在不同的數據庫中。六、使用CDN和反向代理提高網站性能七、使用分布式文件系統(tǒng)八、使用NoSql和搜索引擎九、搭建分布式服務(服務化)負載均衡應用集群:將同一應用部署到多臺機器上,組成處理集群,接收負載均衡設備分發(fā)的請求,進行處理,并返回相應數據。提高系統(tǒng)的高可用和吞吐量。負載均衡設備:將用戶訪問的請求,根據負載均衡算法,分發(fā)到集群中的一臺處理服務器。(一種把網絡請求分散到一個服務器集群中的可用服務器上去的設備)負載均衡實現技術DNS輪詢http重定向LVSDRIP隧道NAT七層(nginx)硬件DNS負載均衡缺點DNS并不能保證返回的地址均勻的落在每臺服務器上。DNS服務器并不一定緩存了全部的服務器地址如果一臺web服務器宕機,那DNS返回這個地址的請求全部失敗。
每次變更服務器需要變更DNS,非常麻煩。DNS生效還需要一段時間。
DNS并不一定對服務器地址進行輪詢返回。為了安全,web服務器部署在內網內,外部不能直接訪問。大型網站總是部分使用DNS解析,作為第一級負載均衡。將DNS作為第一級負載均衡,A記錄對應著內部負載均衡的IP地址,通過內部負載均衡將請求分發(fā)到真實的Web服務器上。DNS能根據地域返回就近的服務器地址。http重定向缺點:HTTP重定向服務器不能存在單點,最少需要兩臺才能高可用。那么HTTP重定向服務器也需要負載均衡設備。效率很低下當變更服務器集群的時候,需要通知到HTTP重定向服務器。不要使用這種方式進行負載均衡。LVS(NAT)負載均衡策略輪詢將所有請求,依次分發(fā)到每臺服務器上,適合服務器硬件同相同的場景。優(yōu)點:服務器請求數目相同。缺點:服務器壓力不一樣,不適合服務器配置不同的情況。隨機請求隨機分配到各個服務器。
優(yōu)點:使用簡單。缺點:不適合機器配置不同的場景。最少鏈接將請求分配到連接數最少的服務器(目前處理請求最少的服務器)。優(yōu)點:根據服務器當前的請求處理情況,動態(tài)分配。缺點:算法實現相對復雜,需要監(jiān)控服務器請求連接數。負載均衡策略Hash(源地址散列)根據IP地址進行Hash計算,得到IP地址。優(yōu)點:將來自同一IP地址的請求,同一會話期內,轉發(fā)到相同的服務器;實現會話粘滯。缺點:目標服務器宕機后,會話會丟失。加權在輪詢,隨機,最少鏈接,Hash’等算法的基礎上,通過加權的方式,進行負載服務器分配。優(yōu)點:根據權重,調節(jié)轉發(fā)服務器的請求數目。缺點:使用相對復雜。LVS(DR)LVS(TUN)硬件F5支持4層和7層負載均衡以及多種優(yōu)化技術價格昂貴NginxNginx(“enginex”)是一個高性能的HTTP和反向代理服務器,也是一個IMAP/POP3/SMTP服務器。Nginx使用更少的資源,支持更多的并發(fā)連接,體現更高的效率,能夠支持高達50,000個并發(fā)連接數的響應。Nginx使用epollandkqueue作為開發(fā)模型。我們怎么用nginx?nginx處理靜態(tài)資源,然后將動態(tài)資源交給tomcat進行處理。nginx作為方向代理服務器,nginx進行七層負載均衡。網絡延遲帶來的挑戰(zhàn)假設別的國家連接中國的網絡很慢,外國人訪問含有大量圖片的天貓網站,此時網頁可能下載不到圖片或者下載的速度很慢,怎么辦?解決方案什么是CDN內容分發(fā)網絡(CloudDeliveryNetwork,簡稱CDN)將源站內容分發(fā)至全國所有的節(jié)點,縮短用戶查看對象的延遲,提高用戶訪問網站的響應速度與網站的可用性,解決網絡帶寬小、用戶訪問量大、網點分布不均等問題CDN原理-DNS解析過程CDN原理-DNS解析分布式緩存分布式緩存Server=key%3Key=1server=1Key=2server=2Key=3server=0Key=4server=1Key=5server=2Redis-0機器宕機Server=key%2Key=1server=1Key=2server=0(失效)Key=3server=1(失效)Key=4server=0(失效)Key=5server=1(失效)增加redis-3機器Server=key%4Key=1server=1Key=2server=2(失效)Key=3server=3(失效)Key=4server=0(失效)Key=5server=1(失效)分布式緩存-HASH一致性算法平衡性(Balance):
平衡性是指哈希的結果能夠盡可能分布到所有的緩沖中去,這樣可以使得所有的緩沖空間都得到利用。單調性(Monotonicity):
單調性是指如果已經有一些內容通過哈希分派到了相應的緩沖中,又有新的緩沖加入到系統(tǒng)中。
分散性(Spread):
在最終的結果是相同的內容被不同的終端映射到不同的緩沖區(qū)中。這種情況顯然是應該避免的,因為它導致相同內容被存儲到不同緩沖中去,降低了系統(tǒng)存儲的效率。分散性的定義就是上述情況發(fā)生的嚴重程度。好的哈希算法應能夠盡量避免不一致的情況發(fā)生,也就是盡量降低分散性。
負載(Load):
負載問題實際上是從另一個角度看待分散性問題。既然不同的終端可能將相同的內容映射到不同的緩沖區(qū)中,
那么對于一個特定的緩沖區(qū)而言,也可能被不同的用戶映射為不同的內容。與分散性一樣,這種情況也是應當避免的,因此好的哈希算法應能夠盡量降低緩沖的負荷。HASH一致性算法數據庫的挑戰(zhàn)MYSQL在數據量達到千萬級別數據的時候就會變慢,怎么辦?數據庫QPS,TPS較大,CPU跑滿怎么辦?解決辦法1-主備庫解決辦法2-將一個庫的表移到其他庫解決辦法3-分布式數據庫分布式數據庫使用要點insert一定要有分庫分表字段select一定要縮小表的查找范圍盡量使得數據均等的分散在各個數據的各個表上為什么需要服務化為什么需要服務化SOA-(Service-OrientedArchitecture)表達了一種軟件架構概念,它定義為使用服務來滿足軟件用戶的需求。在SOA環(huán)境中,系統(tǒng)上的節(jié)點以獨立服務的形式將自己的資源開放給網絡上其他參與者,其他參與者按一種標準的方式使用資源。與傳統(tǒng)點對點架構不同,各種SOA都由松耦合、高度可互操作的應用服務構成。服務化webServiceRestFulEDASWebService的基本層次結構傳輸協(xié)議:
SMTP/HTTP等統(tǒng)一數據格式:
XML服務操作協(xié)議: SOAP服務描述協(xié)議:
WSDLSimple,Open,BroadIndustrySupport簡單、開放、工業(yè)界廣泛支持服務發(fā)布協(xié)議:
UDDIUDDI:UniversalDescriptionDiscoveryandIntegrationWSDL:WebServiceDescriptionLanguageSOAP:SimpleObjectAccessProtocol發(fā)布查詢WebService提供者WebService使用者UDDI綁定InternetSOAPSOAPSOAPWebService是一種跨編程語言和跨操作系統(tǒng)平臺的遠程調用技術WSDL描述web服務的三個基本屬性服務做些什么?服務所提供的操作(方法)。如何訪問服務?數據格式以及訪問服務操作的必要協(xié)議。服務位于何處?由特定協(xié)議決定的網絡地址,如URL。Wsdl例子SOAP是什么?SOAP是一種輕量級協(xié)議,用于在分散型、分布式環(huán)境中交換結構化信息。SOAP利用XML技術定義一種可擴展的消息處理框架,它提供了一種可通過多種底層協(xié)議進行交換的消息結構。這種框架的設計思想是要獨立于任何一種特定的編程模型和其他特定實現的語義。SOAP的概念最初來自于MicrosoftandUserlandsoftware,它已經演化了好幾代;當前最新的規(guī)范是SOAP2.0。由W3C組織制定。SOAP消息結構SOAP請求<?xml
version='1.0'
?>
<soap:Envelope
xmlns:soap="/soap/envelope/">
<soap:Header>
...
</soap:Header>
<soap:Body>
<getCustomerAddress
xmlns="/xsd">
<customerID>12345678</customerID>
</getCustomerAddress
>
</soap:Body>
</soap:Envelope>
SOAP請求在HTTP上的傳輸POST/DEMOWebServices2.8/Service.asmxHTTP/1.1Host:Content-Type:application/soap+xml;charset=utf-8Content-Length:length<?xml
version='1.0'
?>
<soap:Envelope
xmlns:soap="/soap/envelope/">
<soap:Header>
...
</soap:Header>
<soap:Body>
<getCustomerAddress
xmlns="/xsd">
<customerID>12345678</customerID>
</getCustomerAddress
>
</soap:Body>
</soap:Envelope>
SOAP響應在HTTP上的傳輸HTTP/1.1200OKContent-Type:application/soap+xml;charset=utf-8Content-Length:length<?xml
version='1.0'
?>
<soap:Envelope
xmlns:soap="/soap/envelope/">
<soap:Header>
...
</soap:Header>
<soap:Body>
<getCustomerAddressResponse
xmlns="/xsd">
<address>
<street>Gaussstr.
29</street>
<city>Braunschweig</city>
<zipCode>D-38106</zipCode>
</address>
</getCustomerAddressResponse>
</soap:Body>
</soap:Envelope>
SOAP響應<?xml
version='1.0'
?>
<soap:Envelope
xmlns:soap="/soap/envelope/">
<soap:Header>
...
</soap:Header>
<soap:Body>
<getCustomerAddressResponse
xmlns="/xsd">
<address>
<street>Gaussstr.
29</street>
<city>Braunschweig</city>
<zipCode>D-38106</zipCode>
</address>
</getCustomerAddressResponse>
</soap:Body>
</soap:Envelope>
相關框架Axis2方式
支持多種語言,性能較低Xfire
和spring整合很方便ApcheCXF方式
是Xfire的升級版JDK開發(fā)webservice方式RESTFULRESTREST這個詞,是RoyThomasFielding在他2000年的博士論文中提出的。
它結構清晰、符合標準、易于理解、擴展方便,所以正得到越來越多網站的采用。資源(Resources)REST的名稱"表現層狀態(tài)轉化"中,省略了主語。"表現層"其實指的是"資源"(Resources)的"表現層"。所謂"資源",就是網絡上的一個實體,或者說是網絡上的一個具體信息。它可以是一段文本、一張圖片、一首歌曲、一種服務,總之就是一個具體的實在。你可以用一個URI(統(tǒng)一資源定位符)指向它,每種資源對應一個特定的URI。要獲取這個資源,訪問它的URI就可以,因此URI就成了每一個資源的地址或獨一無二的識別符。表現層(Representation)“資源的表現形式(XML/JSON/HTML/二進制等)狀態(tài)轉化(StateTransfer)HTTP協(xié)議里面,四個表示操作方式的動詞:GET、POST、PUT、DELETE。它們分別對應四種基本操作:GET用來獲取資源,POST用來新建資源(也可以用于更新資源),PUT用來更新資源,DELETE用來刪除資源。EDAS企業(yè)級分布式應用服務(EDAS,EnterpriseDistributedApplicationService)是企業(yè)級互聯網架構解決方案的核心產品,充分利用阿里云現有資源管理和服務體系,引入中間件成熟的整套分布式計算
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年財務基礎到財務經理全科目考試題庫
- 2026年社會心理學研究方法與實踐題庫
- 2026年天津濱海職業(yè)學院高職單招職業(yè)適應性測試備考試題及答案詳細解析
- 2026湖北宏泰集團應屆高校畢業(yè)生春季招聘40人參考考試題庫及答案解析
- 2026貴州省自然資源廳直屬事業(yè)單位招聘20人民參考考試題庫及答案解析
- 外貌及五官課件
- 2026年河南交通職業(yè)技術學院單招綜合素質考試參考題庫含詳細答案解析
- 2026年湘潭醫(yī)衛(wèi)職業(yè)技術學院高職單招職業(yè)適應性測試模擬試題及答案詳細解析
- 2026年常德職業(yè)技術學院單招綜合素質筆試備考試題含詳細答案解析
- 2026年承德護理職業(yè)學院單招綜合素質考試模擬試題含詳細答案解析
- GB/T 45078-2024國家公園入口社區(qū)建設指南
- 《東北解放區(qū)工業(yè)戲劇研究(1945-1949年)》
- 新版中國食物成分表
- 安全生產標準化基本規(guī)范評分表
- 附件3:微創(chuàng)介入中心評審實施細則2024年修訂版
- 嗜血細胞綜合征查房
- 財務共享中心招聘筆試環(huán)節(jié)第一部分附有答案
- veeam-backup-11-0-quick-start-guide-hyperv中文版完整文件
- 安徽紅陽化工有限公司年產1萬噸有機酯(三醋酸甘油酯)、5500噸醋酸鹽系列產品擴建項目環(huán)境影響報告書
- 汽車各工況下輪轂軸承壽命計算公式EXCEL表
- 教務工作的培訓內容
評論
0/150
提交評論