成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

不為技術而技術:大型網站架構演化解析

開發 架構 前端
大型網站技術主要的挑戰來自于龐大的用戶、高并發以及海量的數據這三個方面。大型網站的形成就像一顆大樹的成長,歷盡長時間的磨練,最后枝繁葉茂,服務他人。

短短幾十年國內互聯網發生了翻天覆地的變化,特別是國家支持互聯網發展,提出了“互聯網+”行動計劃,國內各行各業的互聯網更是日新月異。作為一個九零后小白沒有親身經歷互聯網的演變歷程,如今看的像淘寶、京東、騰訊這樣的大型網站充滿了無數的好奇心,這些網站是怎么運作的,如何處理大量用戶的請求,如何解決海量的數據庫處理···于是才有對于大型網站架構核心原理以及實例分析一系列的筆記記錄。所有筆記記錄參考《大型網站技術架構核心原理以及案例分析》,該系列文章沒有太多的代碼展示,著重是對理論知識的描述。

互聯網無處不在,人們的生活受互聯網的席卷發生了巨大的變化,從信息檢索到即時通信,從電子購物到文化娛樂,互聯網已近滲透生活的每個角落,在互聯網如此跨越式發展進程中,不堪負重的網站架構也帶來了負面的一面,網站頻繁宕機、請求操作延時、用戶信息泄漏等等現象演繹的淋漓盡致。

針對上述種種現象,如何打造一個高可用、高性能、易擴展、可伸縮以及安全的網站?如何讓網站隨業務需求所需而靈活變通?這些將是打造一個大型網站急需要考慮的問題根本所在,通過對《大型網站技術架構核心原理以及案例分析》這本書的學習將一層層揭開其中的面紗。

俗話說的好,“汝欲得之,必先知之”,換而言之也是一個道理,想要解決那些種種現象,你得先清楚大型網站的架構演化。

大型網站軟件系統的特點

相比之傳統的應用系統,大型網站系統有以下特點:

高并發,大流量:面臨高并發用戶,大流量訪問。像google、騰訊同時訪問量可能出現億單位次數。

高可用:系統支持每天24小時運作。

海量數據:需要存儲海量數據并管理,需要大量的服務器來支持。

用戶分布廣泛,網絡情況復雜:許多網站都是全球性服務的,用戶分布的范圍很廣。例如:淘寶網

安全性惡劣:互聯網追求開放性,因而易受到外界攻擊,大型知名網站受到攻擊更是家常便飯。

漸進式發展:幾乎所有的大型網站都是漸進式發展,慢慢壯大的,這也和互聯網架構的發展演化對應。

大型網站架構演化發展歷程

前面已經描述了大型網站系統的特點,而對一個大型網站系統,其架構也是重要的一個環節。

大型網站技術主要的挑戰來自于龐大的用戶、高并發以及海量的數據這三個方面。大型網站的形成就像一顆大樹的成長,歷盡長時間的磨練,最后枝繁葉茂,服務他人。

初始網站架構結構

起初的網站鑒于用戶量、訪問量較少,只需要一臺服務器足以,應用程序、數據庫、文件等其所有資源放在一太服務器上就已經足夠滿足此時的需求,這時候網站的架構就幾個簡單組成部分如下圖

應用和數據服務分離

隨著網站業務需求的發展,越來越多的用戶進行訪問,此時一臺服務器漸漸不能滿足需求,數據的存儲空間出現屏障。于是應用程序、數據庫、文件三者面臨分離,各自為首分配一臺服務器,這三臺服務器對硬件的要求各取所需,應用服務器處理大量的業務邏輯,需求更快更大的CPU;數據庫服務器對數據庫的處理需要快速搜索以及緩存,需求對內存更大,對硬盤讀寫能力更迅速;文件服務器需求放入大量的用戶資源,對硬盤空間要求更大。此時的網站的架構組成部分展示如下圖

使用緩存

網站的架構進一步改進后可以滿足了業務的發展,但是隨著網站知名度提升,用戶量的進一步增加,訪問數據相比之前愈加頻繁,數據庫壓力急劇上升導致網站訪問出現延遲,用戶的性能體驗出現下滑,面臨此時網站出現的性能問題,網站架構設計需要再一次的進化,鑒于網站訪問也遵循二八定律,例如:新浪微博,只有經常登錄的用戶才會發微博,看微博,而這些用戶對于總用戶數只是冰山一角。既然出現這一現象,那么緩存這部分的數據是不是可以解決這現象呢?網站緩存可以分為本地緩存和分布式緩存這兩種,二者的區別是本地緩存速度快但是受服務器內存限制緩存的數量有限,而分布式緩存采用的是集群處理,理論上是可以避免內存瓶頸。此時網站的架構組成部分如下圖

應用服務器集群改善網站并發能力

使用緩存后,數據庫的壓力得到緩解,但是在面臨網站高峰期時,應用服務器處理單一的請求連接出現瓶頸,萬事都有解決的辦法,只是看你愿不愿去想,愿不愿去嘗試做,采用集群,集群多臺應用程序服務器分布原有的應用程序服務器,從而實現了系統的可伸縮性,網站架構此時演化成這樣如下圖

#p#

數據庫讀寫分離

使用緩存,雖然使用戶請求數據操作大部分不直接通過數據庫,但是仍有一部分數據(緩存過期、緩存數據沒有命中)讀寫操作需要訪問數據庫,面對這部分數據,可能出現數據訪問負載壓力,把數據庫讀寫操作分離性能效果理當會如何呢?效果無言而喻。

CDN和反向代理加速網站響應

網絡覆蓋范圍地區廣泛,造就了網絡環境復雜,從而用戶訪問網站性能體現也各有差異,鑒于這問題,網站架構使用CDN和反向代理以技術加速網站響應,二者原理都是緩存,CDN可以從距離用戶最近網絡提供點獲取數據;反向代理則是首先從反向代理服務器中獲取數據。

分布式文件、數據庫系統

任何單一的服務器最后都是滿足不了業務需求發展。雖然前面數據庫讀寫分離能夠改善數據庫負載壓力但是隨著業務不斷壯大最終還是難以維持此時使用分布式數據庫,該技術不到不得以建議不使用,而對于這個技術解決方案更常用的使用業務拆分,將不同的業務數據庫部署在不同的物理服務器上。

NoSQL和搜索引擎

該技術對于可伸縮的分布式提供更好的支持,減輕應用程序管理諸多數據源的麻煩。

業務拆分

大型網站日益發展壯大,業務需求越來越復雜,使用分而治之手段分離整個網站的業務變成不同的產品線。具體到技術上,將一個網站拆分成許多不同的應用,每個應用獨立部署,而應用與應用之間通過超鏈接關聯,不過最多的還是通過訪問同一個數據存儲來構成一個關聯的完整系統。

分布式服務

一個應用系統需要執行相同業務操作,那么可以將共同的業務提取出來,獨立部署,由這些可復用的業務連接數據庫,提供共用業務服務,而應用系統只需要管理用戶界面,通過分布式調用共用業務服務完成具體業務操作。

大型網站結構演化到這里,基本上大多數的技術問題都得以解決了,但是事物發展到一定的階段就會擺脫初衷向更強的方向發展。目前許多的大型網站都建立自己的云平臺,將計算作為一種資源進行出售。

大型網站架構演化歷經了長時間磨練才發展如此,在過程中也是出現一些易步入的誤區

一味的追隨大公司解決方案,大公司的經驗和成功固然重要,但是不能盲目的追從,要與實際的具體業務需求有所改動;

 為了技術而技術,網站技術是為業務而存在的,但是一味的追求新技術,可能會導致結構技術之路越走越難;

企圖用技術解決所有問題,技術雖是解決業務問題的,但也不是萬能鑰匙,有些業務的問題也是可以通過業務手段解決。

責任編輯:林師授 來源: Never_Land的博客
相關推薦

2016-11-07 21:00:04

網站service架構設計

2014-09-26 09:53:41

系統架構架構架構演變

2018-02-10 11:11:01

網站技術架構負載均衡

2017-05-08 11:53:21

2012-01-16 09:54:37

大型網站

2016-01-13 10:35:17

網站技術OpenStack云管理

2018-04-13 08:44:40

存儲大型網站

2015-09-23 14:14:47

LinkedIn架構解析

2020-01-02 10:21:40

技術研發架構

2010-07-21 08:51:48

淘寶架構

2016-10-28 10:51:06

APP

2013-10-15 13:24:00

負載均衡架構

2010-03-31 15:03:12

云計算

2009-03-20 09:49:00

負載均衡CDN網站架構

2024-09-29 08:00:00

動態代理RPC架構微服務架構

2009-05-13 09:10:59

Facebook存儲基礎架構照片應用程序

2012-09-28 14:08:20

大型網站架構大型網站算法算法

2021-10-08 09:57:38

Java開發架構

2015-12-14 10:26:40

2011-05-04 10:52:25

架構網站
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美激情久久久 | 99热国产免费 | 日本特黄特色aaa大片免费 | 欧美精品一二三 | 精品国产18久久久久久二百 | 色久伊人 | 一区二区三区成人 | 秋霞在线一区 | 小川阿佐美pgd-606在线 | 欧美一区二区三区,视频 | 国产精品久久国产精品久久 | 91色在线| 欧美成年网站 | 97精品国产一区二区三区 | 国产视频二区在线观看 | 欧美日韩成人 | 国产精品69久久久久水密桃 | 国产日韩免费视频 | 国产精品99久久久久久人 | 91中文字幕在线 | 国产专区在线 | 一区二区欧美在线 | 精品一区二区av | 午夜精品一区二区三区在线观看 | 国产91成人 | 6996成人影院网在线播放 | 日韩毛片免费看 | 久久丁香| 欧美九九 | 国产一区二区在线免费播放 | 操视频网站 | 福利精品在线观看 | 亚洲欧美在线观看 | 美女国产 | 精品国产伦一区二区三区观看体验 | 国产精品一区二区三 | 国产成人在线一区二区 | 久久久久久亚洲 | 黄色网页在线观看 | 视频一区在线观看 | 在线观看亚洲专区 |