大型網站架構演進(3)使用快取改善網站效能
網站的訪問也是遵循二八定律:80%的業務訪問集中在20%的資料上,如果我們把這20%的資料做快取,是不是可以減輕資料庫的訪問壓力呢?在專案開發過程中,我們通常將一些基礎資訊快取起來,比如商旅系統中的國家,城市,航空公司,機場和航站樓資訊。
使用快取改善網站效能
快取一般分為兩種,本地快取和分散式快取,本地快取指的是應用伺服器的本機快取,分散式快取一般指專門的快取伺服器,比如memcached和redis。下圖是使用快取後網站的架構:
總結:
使用快取,緩解了資料庫讀的壓力,在一定程度上提升了網站的效能,但是併發處理能力仍然有限,因為單臺應用伺服器請求數的限制,當併發訪問量增大的時候,應用伺服器會成為整個網站的效能瓶頸。
相關推薦
大型網站架構演進(3)使用快取改善網站效能
原文: 大型網站架構演進(3)使用快取改善網站效能 網站的訪問也是遵循二八定律:80%的業務訪問集中在20%的資料上,如果我們把這20%的資料做快取,是不是可以減輕資料庫的訪問壓力呢?在專案開發過程中,我們通常將一些基礎資訊快取起來,比如商旅系統中的國家,城市,航空公司,機場和航站樓資訊。 使用快取改
大型網站架構演進(3)使用緩存改善網站性能
大型網站 限制 bubuko .com ack 兩種 png 我們 項目開發 原文:大型網站架構演進(3)使用緩存改善網站性能 網站的訪問也是遵循二八定律:80%的業務訪問集中在20%的數據上,如果我們把這20%的數據做緩存,是不是可以減輕數據庫的訪問壓力呢?在項目開發過
高效能網站架構設計之快取篇(3)- Redis 的配置
我們說Redis是一個強大的Key-Value儲存系統,在前面我們已遇到了兩個問題: 1、redis server 啟動後,獨佔程序,能不能修改為後臺服務呢? 2、redis server 服務是單執行緒的,而我的機器是多核的,能不能在同一臺機器上開啟多個例項更充分的利用 cpu 資源呢?但6379埠已經
大型網站架構演進的五大階段盤點
一個創業公司起步時很可能就兩臺機器,一臺Web 伺服器、一臺資料庫伺服器,在一個應用系統中集成了
大型網站架構演進(4)使用應用服務器集群
gin 常用 die 這一 html 散列 str 系統 com 原文:大型網站架構演進(4)使用應用服務器集群 使用應用服務器集群是解決高並發的常用手段,當一臺應用服務器的處理能力不足時,不要企圖更換配置更高的服務器,對於大型網站而言,不管多麽強大的服務器,都滿足不了
大型網站架構演進(2)數據庫與應用服務器分離
並發 www ref 使用 大型 spa 和數 logs 三臺 原文:大型網站架構演進(2)數據庫與應用服務器分離 隨著用戶量和並發數的增加,單臺服務器出現了性能問題,此時必須要將應用程序和數據庫分離,分離後整個網站變成三臺服務器了:應用服務器(或稱web服務器),數據庫
大型網站架構演進(5)數據庫讀寫分離
這一 流數據 tar share 讀數 應用 庫服務器 兩個 .com 原文:大型網站架構演進(5)數據庫讀寫分離 在使用緩存後,使大部分的數據讀操作訪問都可以不通過數據庫就能完成,但是仍有一部分讀操作(包括未命中緩存的,和緩存過期的)和全部的寫操作需要訪問數據庫,當網站
大型網站架構演進(4)使用應用伺服器叢集
原文: 大型網站架構演進(4)使用應用伺服器叢集 使用應用伺服器叢集是解決高併發的常用手段,當一臺應用伺服器的處理能力不足時,不要企圖更換配置更高的伺服器,對於大型網站而言,不管多麼強大的伺服器,都滿足不了持續增長的業務需求,在這種情況下,更好的做法是增加一臺應用伺服器去分擔原來伺服器的壓力
大型網站架構演進(1)單機網站
原文: 大型網站架構演進(1)單機網站 初始階段的網站一般訪問量都很小(QPS<500),此時只需要一臺伺服器就足夠,應用程式,資料庫和檔案都放在這一臺伺服器上。如果是.net的話,通常作業系統使用windows server,應用程式開發使用asp.net,然後應用程式部署在IIS上,資料庫使用
大型網站架構演進(2)資料庫與應用伺服器分離
原文: 大型網站架構演進(2)資料庫與應用伺服器分離 隨著使用者量和併發數的增加,單臺伺服器出現了效能問題,此時必須要將應用程式和資料庫分離,分離後整個網站變成三臺伺服器了:應用伺服器(或稱web伺服器),資料庫伺服器和檔案伺服器。這三臺伺服器對伺服器的配置要求是不一樣的,應用伺服器需要處理大量的業務邏
大型網站架構演進(9)服務化
原文: 大型網站架構演進(9)服務化 隨著業務越拆越小,而且各個應用又是獨立部署和維護的,這樣的架構存在以下問題: 1,資料庫連線數的問題,如果各個應用都連線現有資料庫,當使用叢集和併發訪問量大的情形下,就會導致資料庫連線數超過限制。當然,如果各個應用都有自己的資料庫,則不存在這個問題。 2,程式碼
大型網站架構演進(7)資料庫拆分
原文: 大型網站架構演進(7)資料庫拆分 能過資料庫的讀寫分離和使用NoSQL,以及搜尋引擎後,能夠降低主庫的壓力,解決資料儲存方面的問題,不過隨著業務的繼續發展,我們的資料庫主庫還是會遇到效能瓶頸,所以為了減小資料庫主庫的壓力,我們有資料庫垂直拆分和水平拆分兩種方式。 資料庫拆分 資料庫拆分有兩種
大型網站架構演進(8)業務拆分
原文: 大型網站架構演進(8)業務拆分 大型網站為了應對日益複雜的業務需求,通過使用分而治之的手段將整個網站的業務分成不同的產品線,然後交給不同的開發團隊負責。這樣一方面方便應用的擴充套件和維護,同時不同的應用對應不同的資料庫,也減小了原來所有業務資料都在一個數據庫的壓力。 業務拆分 原來一個網站拆
大型網站架構演進(6)使用NoSQL和搜尋引擎
原文: 大型網站架構演進(6)使用NoSQL和搜尋引擎 隨著網站業務越來越複雜,對資料儲存和檢索的需求也越來越複雜,網站需要採用一些非關係型資料庫技術(即NoSQL)和非資料庫查詢技術如搜尋引擎。NoSQL資料庫一般使用MongoDb,搜尋引擎一般使用ElasticSearch,最好可以研究ELK整套解
大型網站架構演進(5)資料庫讀寫分離
原文: 大型網站架構演進(5)資料庫讀寫分離 在使用快取後,使大部分的資料讀操作訪問都可以不通過資料庫就能完成,但是仍有一部分讀操作(包括未命中快取的,和快取過期的)和全部的寫操作需要訪問資料庫,當網站的訪問量繼續增加後,資料庫會因為負載壓力過高導致成為網站的效能瓶頸。 目前大部分的主流資料庫都提
大型網站架構演進
1. 初始階段的網站架構一般來講,大型網站都是從小型網站發展而來,一開始的架構都比較簡單,隨著業務複雜和使用者量的激增,才開始做很多架構上的改進。當它還是小型網站的時候,沒有太多訪客,一般來講只需要一臺伺服器就夠了,這時應用程式、資料庫、檔案等所有資源都在一臺伺服器上,網站架構如下圖所示: &
大型網站架構系列:電商網站架構案例(3)
分布 商品 除了 做了 完成 伸縮 cti cobar 可擴展 原文:大型網站架構系列:電商網站架構案例(3) 本文章是電商網站架構案例的第三篇,主要介紹數據庫集群,讀寫分離,分庫分表,服務化,消息隊列的使用,以及本電商案例的架構總結。 6.5數據庫集群(讀寫分離,分庫分
大型網站架構系列:電商網站架構案例(2)
嚴重 團隊 nbsp 很好 劃分 電商網站 架構圖 用戶 可能 電網網站架構案例系列的第二篇文章。主要講解網站架構分析,網站架構優化,業務拆分,應用集群架構,多級緩存,分布式Session。 五、網站架構分析 根據以上預估,有幾個問題: 需要部署大量的服務器,高峰期計算,
大型網站架構系列:電商網站架構案例(1)(轉)
大型網站架構是一個系列文件,歡迎大家關注。本次分享主題:電商網站架構案例。從電商網站的需求,到單機架構,逐步演變為常用的,可供參考的分散式架構的原型。除具備功能需求外,還具備一定的高效能,高可用,可伸縮,可擴充套件等非功能質量需求(架構目標)。 根據實際需要,進行改造,擴充套件,支援千萬PV,是沒問題的。
高效能網站架構設計之快取篇(6)- Redis 叢集命令
叢集cluster info :列印叢集的資訊cluster nodes :列出叢集當前已知的所有節點( node),以及這些節點的相關資訊。節點cluster meet <ip> <port> :將 ip 和 port 所指定的節點新增到叢集當中,讓它成為叢集的一份子。cluster