熱門標簽
- 雜谷腦網(wǎng)頁制作公司
- 維明外貿(mào)網(wǎng)站建設(shè)
- 高士網(wǎng)頁設(shè)計公司
- ui設(shè)計師需要的網(wǎng)站有哪些
- 榜羅高端網(wǎng)站建設(shè)
- 吳家窯網(wǎng)頁制作公司
- 安良網(wǎng)絡(luò)推廣
- 博客網(wǎng)站頁面布局設(shè)計代碼
- 外國設(shè)計網(wǎng)站p開通
- 達仁高端網(wǎng)站建設(shè)
- 上八里SEO優(yōu)化
- 斗湖堤網(wǎng)站設(shè)計公司
- 林口網(wǎng)頁制作公司
- logo設(shè)計網(wǎng)站視頻
- 珠琳網(wǎng)站建設(shè)公司
- 大名網(wǎng)站建設(shè)制作
- 哈佛大學的引物設(shè)計網(wǎng)站
- 崇福網(wǎng)絡(luò)推廣
- 香山網(wǎng)站開發(fā)公司
- 海拉蘇網(wǎng)站設(shè)計
大型網(wǎng)站核心架構(gòu)的關(guān)鍵元素
深圳網(wǎng)站,大型網(wǎng)站核心建筑的關(guān)鍵元素,是關(guān)于什么是建筑的流行說法;**高層次的規(guī)劃,難以改變的決策;,這些計劃和決定為事物的未來發(fā)展奠定了方向和**終藍圖。
從這個意義上說,人生規(guī)劃也是一種結(jié)構(gòu)。選擇什么學校、什么專業(yè)、什么公司、什么對象、什么生活,都是你人生的結(jié)構(gòu)。
具體來說,軟件體系結(jié)構(gòu)維基百科的定義如下:抽象描述軟件的總體結(jié)構(gòu)和組件,并用它來指導(dǎo)大型軟件系統(tǒng)的各個方面設(shè)計quo;。系統(tǒng)的各個重要組成部分及其相互關(guān)系構(gòu)成了系統(tǒng)的體系結(jié)構(gòu)。這些組件可以是特定的功能模塊,也可以是非功能模塊設(shè)計和決策模塊。它們相互聯(lián)系形成一個整體,共同構(gòu)成了軟件系統(tǒng)的體系結(jié)構(gòu)。
一般來說,除了當前系統(tǒng)的功能需求外,軟件體系結(jié)構(gòu)還需要注意性能、可用性、可擴展性、可擴展性和安全性這五個體系結(jié)構(gòu)要素。在架構(gòu)設(shè)計的過程中,需要平衡這五個要索之間的關(guān)系以實現(xiàn)需求和架構(gòu)(Architecture)目標,這些架構(gòu)元素也可以被檢查衡ftmdash;軟件體系結(jié)構(gòu)設(shè)計的優(yōu)點和缺點被用來判斷它們是否滿足期望。
3.1性能是網(wǎng)站的重要指標。除非別無選擇(例如,只能在火車站買火車票)www.12306.cn 網(wǎng)站,用戶無法忍受緩慢的響應(yīng)網(wǎng)站。緩慢打開網(wǎng)站會導(dǎo)致嚴重的用戶丟失,很多時候網(wǎng)站性能問題會觸發(fā)網(wǎng)站體系結(jié)構(gòu)升級優(yōu)化。性能是網(wǎng)站體系結(jié)構(gòu)設(shè)計的一個重要方面,任何軟件體系結(jié)構(gòu)設(shè)計方案都必須考慮可能帶來的性能問題。
由于性能問題幾乎無處不在,有許多方法可以優(yōu)化網(wǎng)站性能。從用戶瀏覽器到數(shù)據(jù)庫,所有影響用戶請求的鏈接都可以優(yōu)化。
在瀏覽器端,可以通過瀏覽器緩存、頁面壓縮、頁面布局合理、減少Cookie傳輸來提高性能。
靜態(tài)內(nèi)容網(wǎng)站還可以使用CDN分發(fā)到用戶**近的網(wǎng)絡(luò)服務(wù)提供商室,這使得用戶能夠通過**短的訪問路徑獲得數(shù)據(jù)。反向代理服務(wù)器可以部署在網(wǎng)站機房緩存熱文件,加快請求響應(yīng)速度,降低應(yīng)用服務(wù)器的負載壓力。
在應(yīng)用服務(wù)器端,通過緩存在內(nèi)存中的熱數(shù)據(jù),可以使用服務(wù)器本地緩存和分布式緩存處理用戶請求,加快請求處理過程,降低數(shù)據(jù)庫的負載壓力。
用戶請求也可以通過異步操作發(fā)送到消息隊列,等待后續(xù)任務(wù)的處理,而當前請求則直接將響應(yīng)返回給用戶。
在網(wǎng)站多個用戶有高并發(fā)請求的情況下,可以將多個應(yīng)用服務(wù)器組合成一個集群來服務(wù)外部,提高整體處理能力,提高性能。
在代碼級別,還可以通過使用多線程、改進內(nèi)存管理等來優(yōu)化性能。
在服務(wù)器端的數(shù)據(jù)庫、索引、緩存、SQL優(yōu)化等性能優(yōu)化方法已經(jīng)比較成熟。但通過優(yōu)化數(shù)據(jù)模型、存儲結(jié)構(gòu)和可擴展性,NoSQL數(shù)據(jù)庫在性能上的優(yōu)勢越來越明顯。
衡量網(wǎng)站性能的指標有一系列,包括響應(yīng)時間TPS、系統(tǒng)性能計數(shù)器等,這些指標也是網(wǎng)站監(jiān)控的重要參數(shù)。通過監(jiān)測這些指標,可以分析系統(tǒng)瓶頸,預(yù)測網(wǎng)站容量,并對異常指標進行報警,**系統(tǒng)的可用性
大型網(wǎng)站技術(shù)架構(gòu)的核心原則和案例分析。對于網(wǎng)站,性能滿足期望只是一個必要條件。由于網(wǎng)站可能面臨的訪問壓力是不可預(yù)測的,因此有必要研究當系統(tǒng)超過負載設(shè)計容量時可能出現(xiàn)的性能問題。在高并發(fā)訪問網(wǎng)站的情況下,它需要長期連續(xù)運行,系統(tǒng)必須在連續(xù)運行和接入壓力不均勻的情況下保持穩(wěn)定的性能特性。
3.2大網(wǎng)站的可用性,特別是知名網(wǎng)站的可用性,網(wǎng)站的故障和服務(wù)的不可用是一個大事故,可能影響網(wǎng)站的聲譽,而電可能被起訴。對于電子商務(wù)網(wǎng)站來說,網(wǎng)站的不可用也意味著金錢和用戶的損失。因此,幾乎所有網(wǎng)站都承諾7x24是可用的,但是亊實上的網(wǎng)站沒有一個能夠?qū)崿F(xiàn)7x24的完全使用??倳惺〉臅r候??鄢@些故障次數(shù)后,網(wǎng)站的總可用時間可轉(zhuǎn)換為網(wǎng)站的可用性指數(shù),從而度量M網(wǎng)站的可用性。一些知名的大型網(wǎng)站可以實現(xiàn)4個9以上的可用性,即可用性超過99.99%。
由于網(wǎng)站中使用的服務(wù)器硬件通常是普通的商用服務(wù)器,這些服務(wù)器的設(shè)計標準并不能**高可用性,也就是說,很可能出現(xiàn)服務(wù)器硬件故障,這就是俗稱的服務(wù)器停機。Large網(wǎng)站通常有上萬臺服務(wù)器,每天一定會有一些服務(wù)器停機。因此,網(wǎng)站高可用性架構(gòu)設(shè)計的前提是必須有服務(wù)器停機,而s的高可用性標準設(shè)計是當服務(wù)器停機時,服務(wù)或應(yīng)用程序仍然可用。
網(wǎng)站高可用性的主要手段是冗余。應(yīng)用程序部署在多個服務(wù)器上以同時提供訪問,數(shù)據(jù)存儲在多個服務(wù)器上以相互備份。任何服務(wù)器中斷都不會影響應(yīng)用程序的整體可用性,也不會導(dǎo)致數(shù)據(jù)丟失。
對于應(yīng)用服務(wù)器,多個應(yīng)用服務(wù)器組成一個集群,通過負載平衡設(shè)備提供服務(wù)。如果任何一臺服務(wù)器關(guān)閉,它只需要將請求切換到其他服務(wù)器即可實現(xiàn)應(yīng)用程序的高可用性。但是,一個先決條件是應(yīng)用程序服務(wù)器無法保存請求的會話信息。否則,服務(wù)器將關(guān)閉,會話將丟失。即使用戶請求被轉(zhuǎn)發(fā)到其他服務(wù)器,業(yè)務(wù)處理也無法完成。
對于存儲服務(wù)器,由于存儲在其上的數(shù)據(jù),因此需要實時備份數(shù)據(jù)。當服務(wù)器宕機時,需要將數(shù)據(jù)訪問轉(zhuǎn)移到可用的服務(wù)器,并進行數(shù)據(jù)恢復(fù),以確保在服務(wù)器繼續(xù)存在時數(shù)據(jù)仍然可用。
除了運行時環(huán)境外,網(wǎng)站的高可用性還需要軟件開發(fā)過程的質(zhì)量**。通過預(yù)發(fā)布驗證、自動測試、自動發(fā)布灰度發(fā)布等手段,降低了將故障引入在線環(huán)境的可能性,避免了故障范圍。
衡量一個系統(tǒng)架構(gòu)設(shè)計是否滿足高可用性的目標是假設(shè)當系統(tǒng)中的任何一個或多個服務(wù)器關(guān)閉并且出現(xiàn)意外問題時,系統(tǒng)作為一個整體是否仍然可用。
3.3大規(guī)模網(wǎng)站需要面對大用戶對sea數(shù)據(jù)的高并發(fā)訪問和存儲。不可能只通過一個服務(wù)器網(wǎng)站來處理所有用戶請求和存儲所有數(shù)據(jù)。通過集群集成多個服務(wù)器來提供服務(wù)。所謂可擴展性是指通過向集群中添加服務(wù)器來緩解日益增長的并發(fā)訪問壓力和日益增長的數(shù)據(jù)存儲需求。
體系結(jié)構(gòu)可伸縮性的主要標準是是否可以使用多個服務(wù)器來構(gòu)建一個屬性集群,以及是否可以方便地向集群添加新服務(wù)器。新服務(wù)器是否能提供與原服務(wù)器相同的服務(wù)。集群中可容納的服務(wù)器m的總數(shù)是否有限制。
對于應(yīng)用服務(wù)器集群,只要數(shù)據(jù)不保存在服務(wù)器上,所有服務(wù)器都是對等的。通過使用適當?shù)呢撦d平衡設(shè)備,服務(wù)器可以連續(xù)地添加到集群中。
對于緩存服務(wù)器集群,添加新的服務(wù)器可能會導(dǎo)致緩存路由失敗,從而無法訪問集群中大中的部分緩存數(shù)據(jù)。盡管緩存的數(shù)據(jù)可以通過數(shù)據(jù)庫重新加載,但如果應(yīng)用程序嚴重依賴緩存,整個網(wǎng)站可能會崩潰。我們需要改進緩存路由算法,以確保緩存數(shù)據(jù)的可訪問性。
雖然關(guān)系數(shù)據(jù)庫支持數(shù)據(jù)復(fù)制、主從熱備等機制,但難以實現(xiàn)大規(guī)模集群的可擴展性。因此,關(guān)系型數(shù)據(jù)庫的集群可擴展性方案必須在數(shù)據(jù)庫外部實現(xiàn),部署多個數(shù)據(jù)庫的服務(wù)器通過分區(qū)的方式形成一個集群。
對于大多數(shù)NoSQL數(shù)據(jù)庫產(chǎn)品來說,由于其固有的是sea-yen數(shù)據(jù),因此其對可擴展性的支持通常是非常好的,可以在操作維護參與較少的情況下實現(xiàn)集群規(guī)模的線性擴展。
3.4可擴展性
與其他體系結(jié)構(gòu)不同,網(wǎng)站的可擴展體系結(jié)構(gòu)側(cè)重于網(wǎng)站的功能需求(隨著網(wǎng)站的快速發(fā)展和功能的不斷擴展,網(wǎng)站可擴展體系結(jié)構(gòu)的主要目的是如何構(gòu)建設(shè)計網(wǎng)站體系結(jié)構(gòu),使其能夠快速響應(yīng)需求的變化。
衡量恒宇網(wǎng)站架構(gòu)可擴展性的主要標準是,在網(wǎng)站中添加新的業(yè)務(wù)產(chǎn)品時,是否能夠?qū)ΜF(xiàn)有產(chǎn)品透明,是否能夠在不改變或很少改變現(xiàn)有業(yè)務(wù)功能的情況下推出新產(chǎn)品。如果不同產(chǎn)品之間耦合很小,那么一個產(chǎn)品的變化對其他產(chǎn)品沒有影響,其他產(chǎn)品和功能不需要改變。
網(wǎng)站可擴展體系結(jié)構(gòu)的主要手段是事件驅(qū)動體系結(jié)構(gòu)和分布式服務(wù)。
事件驅(qū)動體系結(jié)構(gòu)通常在網(wǎng)站中通過使用消息隊列實現(xiàn),消息隊列將用戶請求和其他業(yè)務(wù)事件構(gòu)造為消息并發(fā)布到消息隊列,消息處理器作為使用者從消息隊列獲取消息進行處理。通過將消息生成與消息處理分離,可以透明地添加新的消息生產(chǎn)者任務(wù)或新的消息使用者任務(wù)。
分布式服務(wù)將業(yè)務(wù)與可重用服務(wù)分開,并由分布式服務(wù)框架調(diào)用。新產(chǎn)品可以通過調(diào)用可重用服務(wù)來實現(xiàn)自己的業(yè)務(wù)邏輯,而不會對現(xiàn)有產(chǎn)品產(chǎn)生任何影響。當可重用服務(wù)升級發(fā)生變化時,還可以提供多版本服務(wù),實現(xiàn)應(yīng)用程序的透明升級,而不必強制應(yīng)用程序同步變化。
為了保持市場地位,龐大網(wǎng)站還將吸引第三方開發(fā)商致電網(wǎng)站服務(wù),利用網(wǎng)站數(shù)據(jù)開發(fā)周邊產(chǎn)品,拓展網(wǎng)站業(yè)務(wù)。第三方開發(fā)者使用網(wǎng)站服務(wù)的主要方式是large網(wǎng)站提供的開放平臺接口。
3.5安全
互聯(lián)網(wǎng)是開放的,任何地方的任何人都可以訪問網(wǎng)站網(wǎng)站的安全體系結(jié)構(gòu)是保護網(wǎng)站不受惡意訪問和攻擊,并保護網(wǎng)站重要數(shù)據(jù)不被竊取。
衡量網(wǎng)站安全體系結(jié)構(gòu)的標準是,是否存在針對各種現(xiàn)有和潛在攻擊以及秘密竊取手段的可靠響應(yīng)策略。
3.6總結(jié)
性能、可用性、可擴展性、可擴展性和安全性是網(wǎng)站體系結(jié)構(gòu)的核心元素。這些問題解決后,大型網(wǎng)站體系結(jié)構(gòu)設(shè)計的大部分挑戰(zhàn)都被克服了。因此,本書的第二部分是根據(jù)這五個結(jié)構(gòu)要素來組織的。
本章可以看作是本書第二章的概要,也是第二章的總結(jié)和歸納。如果您在閱讀本章的過程中有任何困惑,您不必糾結(jié),請直接跳過,然后您可以在讀完整本書后再回去復(fù)習。
http://79806.xyz/jianzhanzhishi/1129.html 大型網(wǎng)站核心架構(gòu)的關(guān)鍵元素