網際網路系統架構演變簡史

2022-05-17 11:07:33 字數 1879 閱讀 3104

隨著網際網路的發展,**應用的規模不斷擴大。需求的激增,帶來的是技術上的壓力。網際網路系統架構也因此也不斷的演進、公升級、迭代。從單一應用,到垂直拆分,到分布式服務,到soa,以及現在火熱的微服務架構等,還有在google帶領下來勢洶湧的service mesh。

作為一名合格的架構師,有必要對架構的前世今生足夠了解,這樣方能把握現在,預見未來。下面一起看一看網際網路系統架構演變的歷程。

這是最傳統最原始的站點系統架構,網際網路開啟之初常用的架構。單體系統一般功能與流量都很小,只需乙個應用,將所有功能都集中在乙個系統中,並部署在一台伺服器上,以減少部署節點和成本。例如,將使用者模組、問答模組、考試模組等都做在乙個系統中,以乙個應用的形式部署在一台伺服器上。此時,用於簡化增刪改查工作量的資料訪問框架(orm)是關鍵。

單體系統架構

當站點流量增加而一台主機已無法應對其訪問量時,可通過搭建集群增加主機的方式提公升系統的效能。這種方式稱為水平擴充套件。

集群架構

當站點訪問量逐漸增大,集群架構的水平擴充套件所帶來的效率提公升越來越小。此時可以將專案拆分成多個功能相對獨立的子系統以提公升效率。例如使用者系統、問答系統、考試系統等。這種稱為垂直擴充套件。此時,用於加速前端頁面開發的web框架(mvc)是關鍵。

分布式架構

當子系統越來越多時, 發現它們可能同時都擁有某功能相同或相似的模組,於是將這些在整個專案中冗餘的功能模組抽取出來作為獨立的系統,這些系統就是專門為那些呼叫它們的系統服務的。那麼這些抽取出的功能就稱為微服務,微服務應用稱為服務提供者,而呼叫微服務的應用就稱為服務消費者。這樣的系統架構就是微服務架構。此時,用於提高業務復用及整合的分布式服務框架(rpc)是關鍵。

微服務架構

隨著功能的擴張,微服務就需要越來越多;隨著 pv 的增長,消費者系統就需要越來越多;隨著消費者的擴張,為其提供服務的提供者伺服器就需要越來越多,且每種提供者都要求建立為集群。這樣的話,消費者對於提供者的訪問就不能再採用直連方式進行了,此時就需要服務註冊中心了。提供者將服務註冊到註冊中心,而消費者通過註冊中心進行消費,消費者無需再與提供者繫結了。提供者的宕機,對消費者不會產生直接的影響。

隨著服務的增多,在一些特殊時段(例如雙 11)就會出現服務資源浪費的問題:有些服務的 qps 很低,但其還占用著很多系統資源,而有些qps很高,已經出現了資源緊張,使用者體驗驟降的情況。此時就需要服務治理中心了。讓一些不重要的服務暫時性降級,或為其分配較低的權重等,對整個系統資源進行統一調配。

於是便產生了流動計算架構,它是一種高可用、高效能、可伸縮的分布式微服務架構。此時,用於提高機器利用率的資源排程和治理中心(soa)是關鍵。

這裡的資源調配分為兩種:預調配與實時調配。

預調配是根據系統架構師的「系統容量預估」所進行的調配,是一種經驗,是一種預處理,就像每年雙 11 期間的 pv 與 uv 都會很高,就需要提前對各服務效能進行調配。

實時調配指的是根據服務監控中心所提供的基於訪問壓力的實時系統容量評估資料,對各服務效能進行實時調配的方案。

流動計算架構

架構並不是一成不變的,隨著業務和技術的發展,不同的需求會催生不同的架構,不同的架構使用不同的業務場景。架構沒有最好,重要的是合適業務需求,符合使用的場景就好。

移動網際網路系統架構的特點

一 併發性 相對於有線網際網路,移動網際網路的網速還是窄帶時期,大部分的網路訪問都屬於慢速連線。乙個請求占用的網路連線的時間比有線網際網路乙個請求占用網路連線的時間要長。在同等的伺服器端qps下,併發連線數要比有線網際網路模式的要高。雖然web伺服器的併發連線數問題非常容易通過增加機器來進行擴充套件...

移動網際網路系統架構的特點

一 併發性 相對於有線網際網路,移動網際網路的網速還是窄帶時期,大部分的網路訪問都屬於慢速連線。乙個請求占用的網路連線的時間比有線網際網路乙個請求占用網路連線的時間要長。在同等的伺服器端qps下,併發連線數要比有線網際網路模式的要高。雖然web伺服器的併發連線數問題非常容易通過增加機器來進行擴充套件...

網際網路系統垂直架構之Session解決方案

sso登入問題 http協議支援會話,短連線無狀態,如何區分是否登入?可以用會話機制session,基於 cookie告訴瀏覽器 集群session存在 好?方案一 session sticky 通過nginx的ip hash可以實現。缺點 比如我們後台的tomcat宕機,那麼這台機器的sessio...