一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

互聯(lián)網架構之五高

 火鳥課堂 2020-06-03

一、什么是五高?

五高即: 高可用、高可擴展、高性能、高安全、高可管理

高可用(High Availability)即應用全年的停機時長要在標準范圍內。

2個9即99%是基本可用,全年不可用時間是87.6小時

3個9即99.9%是基本可用,全年不可用時間是8.76小時

4個9即99.99%是基本可用,全年不可用時間是52.56分鐘

5個9即99.999%是基本可用,全年不可用時間是5.256分鐘

經常說的高并發(fā)并不是五高之一,高并發(fā)即通過設計保證系統(tǒng)能夠同時并行處理很多請求

高并發(fā)相關常用的一些指標有響應時間(Response Time),吞吐量(Throughput),每秒查詢率QPS(Query Per Second),并發(fā)用戶數等。

     響應時間:系統(tǒng)對請求做出響應的時間。例如系統(tǒng)處理一個HTTP請求需要200ms,這個200ms就是系統(tǒng)的響應時間。

     吞吐量:單位時間內處理的請求數量。

     QPS:每秒響應請求數。在互聯(lián)網領域,這個指標和吞吐量區(qū)分的沒有這么明顯。

     并發(fā)用戶數:同時承載正常使用系統(tǒng)功能的用戶數量。例如一個即時通訊系統(tǒng),同時在線量一定程度上代表了系統(tǒng)的并發(fā)用戶數。

二、如何保證高可用?

       保證系統(tǒng)正常運行的規(guī)則就是:冗余,系統(tǒng)增加了冗余還不夠當然如果系統(tǒng)之間出現了故障,人工干預則需要耗時,為了保證高可用就需要自動故障轉移,即一個節(jié)點宕機立即自動切到另外一臺保證系統(tǒng)的高可用。

三、互聯(lián)網架構分層?

     還記的大學時學習的計算機網絡這本書嗎,里面的OSI七層模型首先來回憶一下。

    OSI七層模型: 第一層 物理層,第二層 數據鏈路層 ,第三層 網絡層,第四層 傳輸層,第五層 會話層,第六層 表示層 第七層 應用層

                               

   如上圖,是互聯(lián)網分布式架構分為:

   客戶端層: 調用方是 應用APP或者PC瀏覽器

   硬件負載均衡層:   F5可以 匯聚鏈接,去除https的s,  負載請求   即典型的三明治結構。 是一種硬件的負載,而F5的探測機制:心跳 一問一答形式和發(fā)送多次,比如發(fā)送三次在多少時間內三次沒有應答就證明斷鏈。 而F5屬于溫備,即有多臺F5,備用機器啟動但是限流。 除了F5,還有 DNS和HA Proxy可以解決同樣的問題。  

  反向代理層:系統(tǒng)入口, 使用nginx進行反向代理,實現原理是: keep alived + virtual IP 

  web應用層:實現核心應用邏輯,返回html或者json

  服務層:如果實現了服務化,就有這一層

  數據-緩存:緩存加速訪問存儲

  數據-數據庫層:數據庫固化數據存儲

四、如何實現各個層級之間的擴展(即冗余)?

   硬件負載均衡層:

    硬負載均衡層的水平擴展,是通過三明治結構實現的。在這一層布三層F5實現水平擴展。F5的官方名稱叫本地流量管理器,可以做4-7層負載均衡,具有負載均衡,應用交換,會話交換,狀態(tài)監(jiān)控,智能網絡地址轉換,通用持續(xù)性,相應錯誤處理、高級路由,SSL加速,TCP優(yōu)化,IPV6網關,智能端口鏡像,SSL加速,智能HTTP壓縮,TCP優(yōu)化,第7層速率整形、內容緩沖、內容轉換、連接加速、連接加速、高速緩存、Cookie加密、選擇性內容加密、應用工具過濾、拒絕服務(Dos)攻擊、SYN FLood保護、防火墻----包過濾、包消毒等。

F5提供12種靈活的算法將所有流量均衡的分配到各個服務器,而面對用戶,只是一臺虛擬服務器。假如一臺服務器發(fā)生宕機,F5會檢查出來并將該服務器標識為宕機,從而不將用戶的訪問請求傳送到該臺發(fā)生故障的服務器上,一旦宕機恢復又F5查證后又將流量切到該恢復的服務器上。

  反向代理層:

  反向代理層水平擴展是通過 DNS輪詢實現,如上圖dns-server對于一個域名配置了多個解析IP,每次DNS解析請求來訪問dns-server,會輪詢這些ip, 當nginx成為瓶頸的時候,只要增加服務器數量,新增的nginx服務的部署,增加一個外網ip就能擴展反向代理層的性能,做到理論上的無限高并發(fā)。

 web應用層(服務器節(jié)點):

 web應用層的水平擴展,即服務端節(jié)點,是通過nginx實現的,通過修改nginx.conf可以設置多個web后端

當web后端成為瓶頸的時候,只要增加服務器的數量部署,在nginx配置中配置新的web后端,就能擴展站點層的性能,做到理論上的無限高并發(fā)。

服務層:

服務層水平擴展是通過服務連接池實現的,站點通過RPC-客戶端調用下游的服務層RPC-服務端中的連接池會建立與下游服務多個連接,當服務成為瓶頸的時候,只要增加服務器數量,新增服務部署,在RPC-客戶端處建立新的下游服務連接,就能擴展服務層性能,做到理論上的無限高并發(fā),如果需要優(yōu)雅的進行服務層自動擴容,則需要zookeeper等注冊發(fā)現。

數據層的水平擴展:

即將一臺服務器上的數據(緩存和數據庫)水平拆分到不同服務器上去以達到擴充系統(tǒng)性能的目的

以數據庫為例,按照范圍水平拆分

                                                     

每一個數據服務,存儲一定范圍數據,上圖為例,user0庫存儲的范圍0-1kw,user1庫存儲的范圍1kw-2kw

優(yōu)點:1、規(guī)則簡單,service只需要判斷一下uid范圍就能路由到對應的存儲服務;

                                    2、數據均衡性好;

                                    3、比較容易擴展,可以隨時加一個uid[2kw到3kw]的數據服務

缺點:請求的負載不一定均衡,一般來說,新注冊的用戶會比老用戶更加活躍,大的排列服務請求壓力會更大。

以數據庫為例,按照哈希水平拆分

                                                       

每一個數據庫,存儲某個key值hash后的部分數據上圖為例

user0庫存儲偶數uid數據,user1庫存儲奇數uid數據

優(yōu)點:  1、規(guī)則簡單,service只需對uid進行hash能路由到對應得存儲服務;

           2、數據均衡性好

           3、請求均衡性好

缺點: 不容易擴展,擴展一個數據服務,與主從同步讀寫分離來擴充數據庫性能的方式有本質不同

通過水平擴展來擴充系統(tǒng)性能,與主從同步讀寫分離來擴充數據庫性能的方式有本質不同:

1、每個服務器上存儲的數據量是總量的1/n,所以單機的性能也會有提升;

2、n個服務器上的數據沒有交集,那個服務器上數據的并集是數據的全集;

3、數據水平拆分到了n個服務器上,理論上讀性能擴充了n倍多。

通過主從同步讀寫分離擴展數據庫性能:

1、每個服務器上存儲的數據量和總量相同;

2、n個服務器上的數據都一樣,都是全集;

3、理論上讀性能擴充了n倍,寫仍然是單點,寫性能不變;

 

 

 

 

    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    视频一区二区三区自拍偷| 亚洲午夜福利视频在线| 熟女中文字幕一区二区三区| 日本人妻中出在线观看| 国产成人午夜av一区二区| 日本妇女高清一区二区三区| 区一区二区三中文字幕| 国产又大又猛又粗又长又爽| 久热久热精品视频在线观看| 真实国产乱子伦对白视频不卡| 欧美国产日本高清在线| 亚洲午夜av一区二区| 少妇高潮呻吟浪语91| 自拍偷拍福利视频在线观看| 亚洲精品成人综合色在线| 欧美日韩国产黑人一区| 日本少妇aa特黄大片| 日韩一级毛一欧美一级乱| 98精品永久免费视频| 国产成人精品午夜福利| 成人午夜视频精品一区| 伊人久久五月天综合网| 欧美自拍偷自拍亚洲精品| 亚洲av专区在线观看| 白白操白白在线免费观看| 欧美偷拍一区二区三区四区| 日韩不卡一区二区在线| 少妇人妻一级片一区二区三区 | 日韩精品综合免费视频| 好吊日成人免费视频公开| 区一区二区三中文字幕| 亚洲av专区在线观看| 中文字幕五月婷婷免费| 日本不卡在线视频中文国产| 亚洲中文字幕在线观看黑人| 国产一区二区三区精品免费| 国内女人精品一区二区三区| 国产精品久久精品国产| 亚洲精品偷拍视频免费观看| 日韩成人高清免费在线| 亚洲熟女国产熟女二区三区|