亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

大型網(wǎng)站技術(shù)架構(gòu)(1)

fredshare / 1633人閱讀

摘要:網(wǎng)站都是從小網(wǎng)站一步一步發(fā)展為大型網(wǎng)站的,而這之中的挑戰(zhàn)主要來自于龐大的用戶安全環(huán)境惡劣高并發(fā)的訪問和海量的數(shù)據(jù),任何簡(jiǎn)單的業(yè)務(wù)處理,一旦需要處理數(shù)以計(jì)的數(shù)據(jù)和面對(duì)數(shù)以億計(jì)的用戶時(shí),問題就會(huì)變的很棘手下面我們就來說說這個(gè)演變過程初始階段大型

網(wǎng)站都是從小網(wǎng)站一步一步發(fā)展為大型網(wǎng)站的,而這之中的挑戰(zhàn)主要來自于龐大的用戶、安全環(huán)境惡劣、高并發(fā)的訪問和海量的數(shù)據(jù),任何簡(jiǎn)單的業(yè)務(wù)處理,一旦需要處理數(shù)以 P 計(jì)的數(shù)據(jù)和面對(duì)數(shù)以億計(jì)的用戶時(shí),問題就會(huì)變的很棘手

下面我們就來說說這個(gè)演變過程:

初始階段

大型網(wǎng)站都是由小型網(wǎng)站演變而來的,網(wǎng)站架構(gòu)也一樣

小型網(wǎng)站最開始沒有太多人訪問,只需要一臺(tái)服務(wù)器就綽綽有余,就像這樣:

應(yīng)用程序、數(shù)據(jù)庫、文件等所有資源都在一臺(tái)服務(wù)器上,通常使用 Linux PHP MySQL Apache 就可以完成整個(gè)項(xiàng)目部署,然后再買個(gè)域名,租一個(gè)廉價(jià)的服務(wù)器就可以開始我們的網(wǎng)站之旅了

應(yīng)用服務(wù)與數(shù)據(jù)服務(wù)分離

隨著業(yè)務(wù)的發(fā)展,逐漸的一臺(tái)服務(wù)器已經(jīng)不能滿足需求,這時(shí)我們可以將 應(yīng)用與數(shù)據(jù)分離

分離之后我們使用到三臺(tái)服務(wù)器:應(yīng)用服務(wù)器、文件服務(wù)器和數(shù)據(jù)庫服務(wù)器,如下所示:

對(duì)于這三臺(tái)服務(wù)器要求各不相同:

應(yīng)用服務(wù)器 要處理大量的業(yè)務(wù)邏輯,所以需要更好更快更強(qiáng)大的 CPU

數(shù)據(jù)庫服務(wù)器 需要快速的進(jìn)行磁盤檢索和數(shù)據(jù)緩存,因此需要更快的硬盤和更大的內(nèi)存

文件服務(wù)器 需要存儲(chǔ)用戶上傳的文件資源,因此需要更大的硬盤存儲(chǔ)空間

應(yīng)用與數(shù)據(jù)分離后,各個(gè)的職責(zé)變得更加專一,網(wǎng)站的性能得到進(jìn)一步的提升,但隨著用戶的繼續(xù)增加,我們需要對(duì)網(wǎng)站架構(gòu)進(jìn)一步優(yōu)化

使用緩存改善性能

網(wǎng)站的訪問一樣遵循二八定律:80% 的業(yè)務(wù)訪問集中在 20% 的數(shù)據(jù)上面

因此我們要對(duì)這一小部分的數(shù)據(jù)進(jìn)行緩存來減輕數(shù)據(jù)庫的訪問壓力,以提高整個(gè)網(wǎng)站的數(shù)據(jù)訪問速度,改善數(shù)據(jù)庫的讀寫性能

網(wǎng)站的緩存可以分為兩種:緩存在應(yīng)用服務(wù)器上的本地緩存和緩存在專門的分布式緩存服務(wù)器上的遠(yuǎn)程緩存

本地緩存 的訪問速度會(huì)快一些,但是受應(yīng)用服務(wù)器內(nèi)存限制,緩存數(shù)據(jù)量很有限,而且會(huì)出現(xiàn)內(nèi)存爭(zhēng)用的情況

遠(yuǎn)程分布式緩存 可以使用集群的方式,部署大內(nèi)存的服務(wù)器作為專門的緩存服務(wù)器,可以在理論上做到不受內(nèi)存容量限制的緩存服務(wù)

如下所示:

使用緩存后,數(shù)據(jù)訪問壓力得到了有效的緩解,但單一的應(yīng)用服務(wù)器能夠處理的請(qǐng)求連接數(shù)有限,在訪問的高峰期,應(yīng)用服務(wù)器又會(huì)成為網(wǎng)站性能的瓶頸

使用應(yīng)用服務(wù)器集群改善網(wǎng)站并發(fā)處理能力

使用集群是網(wǎng)站解決高并發(fā),海量數(shù)據(jù)問題的常用手段,當(dāng)你縱向提升到一定程度后,那就該開始橫向提升了

當(dāng)一臺(tái)服務(wù)器的處理能力不足時(shí),與其換一臺(tái)更強(qiáng)大的服務(wù)器,不如增加一臺(tái)服務(wù)器去分擔(dān)原有的服務(wù)器壓力。對(duì)于大型網(wǎng)站而言,無論多么強(qiáng)大的服務(wù)器,都滿足不了持續(xù)增長(zhǎng)的業(yè)務(wù)需求,更高效的方式就是增加服務(wù)器來分擔(dān)壓力

對(duì)于網(wǎng)站架構(gòu)而言,如果增添一臺(tái)新的服務(wù)器可以改善負(fù)載壓力,那么就可以使用同樣的方式來應(yīng)對(duì)源源不斷的業(yè)務(wù)需求,從而實(shí)現(xiàn)系統(tǒng)的可伸縮性

通過負(fù)載均衡調(diào)度服務(wù)器,可以將用戶請(qǐng)求分發(fā)到應(yīng)用服務(wù)器集群里的任何一臺(tái)服務(wù)器上,如果有更多的用戶,可以增加更多的應(yīng)用服務(wù)器,使應(yīng)用服務(wù)器的負(fù)載壓力不再成為網(wǎng)站的性能問題

數(shù)據(jù)庫讀寫分離

在使用了緩存后,大多數(shù)的操作不經(jīng)過數(shù)據(jù)庫訪問就能完成,但仍有一部分讀操作(緩存訪問未命中,緩存過期)和所有的寫操作需要訪問數(shù)據(jù)庫,在網(wǎng)站的用戶量達(dá)到一定時(shí),數(shù)據(jù)庫的負(fù)載問題就來了

目前大多數(shù)的數(shù)據(jù)庫都支持主從熱備份,通過配置兩臺(tái)服務(wù)器的主從關(guān)系,可以將一臺(tái)數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)更新同步到另一臺(tái),網(wǎng)站利用這一功能,實(shí)現(xiàn)數(shù)據(jù)庫讀寫分離,從而進(jìn)一步改善數(shù)據(jù)庫負(fù)載壓力

應(yīng)用服務(wù)器在寫操作的時(shí)候,訪問主數(shù)據(jù)庫,主數(shù)據(jù)庫通過主從復(fù)制機(jī)制把數(shù)據(jù)同步更新到從數(shù)據(jù)庫,這樣當(dāng)應(yīng)用服務(wù)器進(jìn)行讀操作的時(shí)候,就能訪問從數(shù)據(jù)庫獲取數(shù)據(jù)

使用反向代理和 CDN 加速網(wǎng)站響應(yīng)

CDN反向代理 的基本原理都是緩存

CDN 部署在網(wǎng)絡(luò)供應(yīng)商的機(jī)房,用戶在進(jìn)行請(qǐng)求時(shí),會(huì)從距離最近的網(wǎng)絡(luò)供應(yīng)商機(jī)房獲取數(shù)據(jù)

反向代理 則部署在中心機(jī)房,當(dāng)用戶請(qǐng)求到達(dá)中心機(jī)房后,會(huì)首先訪問反向代理服務(wù)器,如果反向代理服務(wù)器中緩存這用戶請(qǐng)求的資源,就直接返回給用戶

使用 CDN反向代理 都是為了盡快返回給用戶數(shù)據(jù),一方面加快用戶訪問速度,另一方面也減輕了后端服務(wù)器的壓力

使用分布式文件系統(tǒng)和分布式數(shù)據(jù)庫系統(tǒng)

隨著網(wǎng)站業(yè)務(wù)的繼續(xù)發(fā)展,這時(shí)候就可以像分布式應(yīng)用服務(wù)器一樣,對(duì)數(shù)據(jù)庫系統(tǒng)和文件系統(tǒng)進(jìn)行分布式管理

分布式數(shù)據(jù)庫 是網(wǎng)站數(shù)據(jù)庫拆分的最后手段,一般我們可以采取業(yè)務(wù)分庫,根據(jù)不同業(yè)務(wù)的數(shù)據(jù)庫部署在不同的數(shù)據(jù)庫服務(wù)器上

使用 NoSQL 和搜索引擎

這兩個(gè)方式都是依賴于互聯(lián)網(wǎng)的技術(shù)手段,應(yīng)用服務(wù)器通過一個(gè)統(tǒng)一的數(shù)據(jù)訪問模塊來訪問各種數(shù)據(jù),從而減輕應(yīng)用程序有多個(gè)數(shù)據(jù)源的麻煩

業(yè)務(wù)拆分

對(duì)于大型網(wǎng)站,我們可以分而治之,把整個(gè)網(wǎng)站的業(yè)務(wù)分為不同的模塊,比如大型的交易購物完整可以分為首頁、店鋪、訂單、買家等,分別交給不同的業(yè)務(wù)團(tuán)隊(duì)來負(fù)責(zé)

同時(shí)我們將一個(gè)網(wǎng)站根據(jù)模塊劃分拆分成多個(gè)應(yīng)用,每個(gè)應(yīng)用進(jìn)行多帶帶的部署和維護(hù),應(yīng)用之間通過超鏈接建立關(guān)系(指向不同的應(yīng)用地址),最后通過相同的數(shù)據(jù)存儲(chǔ)系統(tǒng)來構(gòu)成一個(gè)互相關(guān)聯(lián)的完整系統(tǒng)

分布式服務(wù)

隨著業(yè)務(wù)拆分,整個(gè)系統(tǒng)越來越大,應(yīng)用的整體復(fù)雜度呈指數(shù)級(jí)增加,部署維護(hù)越來越困難,并且所有的應(yīng)用服務(wù)器都要與數(shù)據(jù)庫服務(wù)連接, 在數(shù)萬臺(tái)服務(wù)器規(guī)模的情況下,這些連接的數(shù)目是服務(wù)器規(guī)模的平方,導(dǎo)致資源不足

這時(shí)候就要對(duì)相同的業(yè)務(wù)進(jìn)行提取,獨(dú)立部署,把這些可重用的業(yè)務(wù)和連接數(shù)據(jù)庫等,提取出來作為公共業(yè)務(wù)服務(wù),而應(yīng)用系統(tǒng)只需要通過分布式服務(wù)訪問公共業(yè)務(wù)服務(wù)完成業(yè)務(wù)操作

到這里,基本上大多數(shù)的技術(shù)問題都能得到解決,還有一些實(shí)時(shí)同步等具體業(yè)務(wù)問題也都可以通過現(xiàn)有的技術(shù)解決

大型網(wǎng)站技術(shù)架構(gòu)(1)
大型網(wǎng)站技術(shù)架構(gòu)(2):架構(gòu)要素和高性能架構(gòu)
大型網(wǎng)站技術(shù)架構(gòu)(3):WEB 前端性能優(yōu)化

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/8968.html

相關(guān)文章

  • 思維導(dǎo)圖形式帶你讀完《大型網(wǎng)站技術(shù)架構(gòu)》上

    摘要:最近跟著視頻做的一個(gè)網(wǎng)站用到了架構(gòu),反向代理,集群,等等優(yōu)化網(wǎng)站性能的技術(shù)。所以決定看一下大型網(wǎng)站技術(shù)架構(gòu)這本書,這本書真心感覺不錯(cuò),里面沒有什么代碼和晦澀難懂的知識(shí),一般人都可以很容易看懂和看完。 最近跟著視頻做的一個(gè)網(wǎng)站用到了soa架構(gòu),nginx反向代理,redis集群,dubbo等等優(yōu)化網(wǎng)站性能的技術(shù)。所以決定看一下《大型網(wǎng)站技術(shù)架構(gòu)》這本書,這本書真心感覺不錯(cuò),里面沒有什么代...

    PAMPANG 評(píng)論0 收藏0
  • 進(jìn)階Java架構(gòu)師必看的15本書

    摘要:阿里巴巴的共享服務(wù)理念以及企業(yè)級(jí)互聯(lián)網(wǎng)架構(gòu)建設(shè)的思路,給這些企業(yè)帶來了不少新的思路,這也是我最終決定寫這本書的最主要原因。盡在雙阿里巴巴技術(shù)演進(jìn)與超越是迄今唯一由阿里巴巴集團(tuán)官方出品全面闡述雙八年以來在技術(shù)和商業(yè)上演進(jìn)和創(chuàng)新歷程的書籍。 showImg(https://segmentfault.com/img/remote/1460000015386860); 1、大型網(wǎng)站技術(shù)架構(gòu):核...

    Julylovin 評(píng)論0 收藏0
  • 大型網(wǎng)站技術(shù)架構(gòu)-入門梳理

    摘要:使用緩存兩個(gè)前提條件數(shù)據(jù)訪問熱點(diǎn)不均衡數(shù)據(jù)某時(shí)段內(nèi)有效,不會(huì)很快過期反向代理本地緩存分布式緩存異步旨在系統(tǒng)解耦。 大型網(wǎng)站技術(shù)架構(gòu)-入門梳理 標(biāo)簽 : 架構(gòu)設(shè)計(jì) [TOC] 羅列了大型網(wǎng)站架構(gòu)涉及到的概念,附上了簡(jiǎn)單說明 前言 本文是對(duì)《大型網(wǎng)站架構(gòu)設(shè)計(jì)》(李智慧 著)一書的梳理,類似文字版的思維導(dǎo)圖 全文主要圍繞性能,可用性,伸縮性,擴(kuò)展性,安全這五個(gè)要素 性能,可用性,伸縮性...

    wawor4827 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

fredshare

|高級(jí)講師

TA的文章

閱讀更多
最新活動(dòng)
閱讀需要支付1元查看
<