大(dà)型網站的(de)架構演進
大(dà)型網站的(de)技術問題主要(yào / yāo)來(lái)自于(yú)用戶多、同時(shí)訪問量大(dà)、數據量大(dà)。處理數以(yǐ)P計的(de)數據和(hé / huò)數以(yǐ)百萬計的(de)用戶,問題就(jiù)會變得非常困難。大(dà)型網站架構的(de)主要(yào / yāo)目的(de)就(jiù)是(shì)解決這(zhè)些問題。在(zài)面對一(yī / yì /yí)個(gè)大(dà)型網站時(shí),首先要(yào / yāo)讨論的(de)是(shì)大(dà)型網站的(de)特點:高并發性、大(dà)流量、高可用性、海量數據。我們今天就(jiù)來(lái)了(le/liǎo)解一(yī / yì /yí)下大(dà)型網站架構演化發展曆程。
1.初始階段:大(dà)型網站都是(shì)從小型網站架構逐步演化而(ér)來(lái)。通常一(yī / yì /yí)台服務器就(jiù)綽綽有餘。
2.采取應用數據分離:随着網站業務的(de)發展,服務器逐漸不(bù)能滿足需求,這(zhè)時(shí)就(jiù)需要(yào / yāo)應用和(hé / huò)數據分離。應用與數據分離後,整個(gè)網站使用三個(gè)服務器:應用服務器、文件服務器和(hé / huò)數據庫服務器。
3.使用緩存改善網站性能:80%的(de)業務訪問集中在(zài)20%的(de)數據上(shàng),将這(zhè)一(yī / yì /yí)小部分數據存入内存就(jiù)可以(yǐ)減少數據庫訪問的(de)壓力。網站使用的(de)緩存一(yī / yì /yí)般分爲(wéi / wèi)兩種:應用服務器上(shàng)的(de)本地(dì / de)緩存和(hé / huò)分布式緩存服務器上(shàng)的(de)遠程緩存。
4.使用應用服務器集群:使用集群是(shì)解決高并發、數據量大(dà)等問題的(de)常用手段。由于(yú)單個(gè)應用服務器處理能力有限,網站訪問高峰期會造成“擁堵”現象。因此,有必要(yào / yāo)使用負載均衡處理器。可以(yǐ)将訪問請求從浏覽器分發到(dào)應用服務器集群中的(de)任何服務器。
5.數據庫讀寫分離:目前主流數據庫大(dà)多提供主從設備功能。通過在(zài)一(yī / yì /yí)個(gè)數據庫中建立主從關系,一(yī / yì /yí)個(gè)數據庫服務器的(de)數據更新可以(yǐ)同步到(dào)另一(yī / yì /yí)個(gè)服務器。利用這(zhè)一(yī / yì /yí)特性,實現了(le/liǎo)數據庫加載與寫入分離,減輕了(le/liǎo)數據庫的(de)負載壓力
6.使用反向代理和(hé / huò)CDN加速網站響應:CDN和(hé / huò)逆代理的(de)基本原理是(shì)緩存,不(bù)同之(zhī)處在(zài)于(yú),當用戶請求網站服務時(shí),CDN可以(yǐ)部署到(dào)網絡提供商的(de)機房,并從最近的(de)網絡提供商機房獲取數據。當用戶的(de)請求到(dào)達中央計算機室時(shí),首先訪問的(de)服務器是(shì)反向代理服務器。如果反向代理服務器中緩存用戶請求的(de)資源,它将直接返回給用戶。
7.使用分布式文件系統和(hé / huò)分布式數據庫系統:隻有當單個(gè)表的(de)數據規模非常大(dà)時(shí),才會使用分布式數據庫拆分網站數據庫。通常,更常用的(de)數據庫分區方法是(shì)在(zài)不(bù)同的(de)物理服務器上(shàng)部署不(bù)同業務數據的(de)業務部門。
8.使用NoSQL和(hé / huò)搜索引擎:NoSQL和(hé / huò)搜索引擎是(shì)一(yī / yì /yí)種互聯網技術手段,對可伸縮的(de)分布式功能有更好的(de)支持。應用服務器可以(yǐ)通過一(yī / yì /yí)個(gè)統一(yī / yì /yí)的(de)數據訪問模塊訪問所有類型的(de)數據,減輕管理多個(gè)數據源的(de)繁瑣。
9.業務拆分:大(dà)型網站被分成許多不(bù)同的(de)應用,每個(gè)應用都是(shì)獨立部署和(hé / huò)維護的(de)。可以(yǐ)通過超鏈接建立應用之(zhī)間的(de)關系,通過消息隊列進行數據分發。當然,最常見的(de)方法是(shì)訪問同一(yī / yì /yí)個(gè)數據存儲系統以(yǐ)形成一(yī / yì /yí)個(gè)相關的(de)完整系統。
10.分布式服務:每個(gè)應用系統需要(yào / yāo)執行的(de)相同的(de)業務操作,可以(yǐ)連接到(dào)數據庫,提供通用的(de)業務服務,而(ér)應用系統隻需要(yào / yāo)管理一(yī / yì /yí)個(gè)用戶界面,并通過分布式服務調用一(yī / yì /yí)個(gè)通用的(de)業務服務來(lái)完成特定的(de)任務。
當一(yī / yì /yí)個(gè)大(dà)型網站演化到(dào)此,大(dà)多數技術問題,如跨數據中心的(de)實時(shí)數據同步,以(yǐ)及特定的(de)網站業務相關問題是(shì)現有的(de)技術架構,都可以(yǐ)通過合并和(hé / huò)改進現有技術架構來(lái)解決。
- 上(shàng)一(yī / yì /yí)篇:青島做外貿網站哪家好?
- 下一(yī / yì /yí)篇:好看的(de)英文字體收藏,再也(yě)不(bù)怕設計英文網站了(le/liǎo)!
相關内容推薦
- 青島網站建設經驗談-如何高效地(dì / de)設計網站着陸頁面
- 網站代運營和(hé / huò)網站托管有什麽區别?
- 設計網站首頁要(yào / yāo)幾天
- 專業網站制作報價包含哪些内容?
- 高端大(dà)氣的(de)青島網站制作會給您帶來(lái)意想不(bù)到(dào)的(de)業務
- 營銷網站建設策劃的(de)八大(dà)步驟
- 企業網站設計制作上(shàng)應該注意哪些細節?
- 專業做網站設計公司一(yī / yì /yí)般價格是(shì)多少?
- 網站建設對企業的(de)重要(yào / yāo)性以(yǐ)及如何定位高端營銷型網站
- 青島網站建設:響應式網站設計會成爲(wéi / wèi)未來(lái)趨勢