大型網站架構演化(十)——分散式服務
阿新 • • 發佈:2019-02-16
隨著業務拆分越來越小,儲存系統越來越龐大,應用系統的整體複雜度呈指數級增加,部署維護越來越困難。由於所有應用要和所有資料庫系統連線,在數萬臺伺服器規模的網站中,這些連線的數目是伺服器規模的平方,導致存資料庫接資源不足,拒絕服務。
既然每一個應用系統都需要執行許多相同的業務操作,比如使用者管理、商品管理等,那麼可以將這些公用的業務提取出來,獨立部署。由這些可複用的業務連線資料庫,提供共用業務服務,而應用系統只需要管理使用者介面,通過分散式服務呼叫共用業務服務完成具體業務操作,如圖。
大型網站的架構演化到這裡,基本上大多數的技術問題都得以解決,諸如跨資料中心的實時資料同步和具體網站業務相關的問題也都可以通過組合改進現有技術架構來解決。
但事物發展到一定階段,就會擁有自身的發展衝動,擺脫其初衷,向著使自己更強大的方向發展。既然大型網站架構解決了海量資料的管理和高併發事物的處理,那麼就可以把這些解決方案應用到網站自身以外的業務上去。我們看到目前許多大型網站都開始建設雲端計算平臺,將計算作為一種基礎資源出售,中小網站不需要再關心技術架構問題,只需要按需付費,就可以使網站隨著業務的增長逐漸獲得更大的儲存空間和更多的計算資源。