【乾貨】分佈式架構的演進(下)

做者宜信技術部李進年,筆名小李飛叨。


7月18日,《關於促進互聯網金融健康發展的指導意見》正式對外發布。互聯網金融正式光明正大的站在了風口上,這隻豬會飛向何方?那得看豬身上的IT翅膀有多硬!藉着這股東風,接下來小李飛叨與你們聊一聊分佈式架構的演進,歡迎拍磚、臭雞蛋,呃,還有鮮花:-)
06
反向代理和CDN加速
特徵:
採用CDN和反向代理加快系統的 訪問速度。

描述:
爲了應付複雜的網絡環境和不一樣地區用戶的訪問,經過CDN和反向代理加快用戶訪問的速度,同時減輕後端服務器的負載壓力。CDN與反向代理的基本原理都是緩存。
07
分佈式文件系統和分佈式數據庫
隨着系統的不斷運行,數據量開始大幅度增加,這個時候發現分庫後查詢仍然會有些慢,因而按照分庫的思想開始作分表的工做

特徵:
數據庫採用分佈式數據庫,文件系統採用分佈式文件系統。

描述:
任何強大的單一服務器都知足不了大型系統持續增加的業務需求,數據庫讀寫分離隨着業務的發展最終也將沒法知足需求,須要使用分佈式數據庫及分佈式文件系統來支撐。
分佈式數據庫是系統數據庫拆分的最後方法,只有在單表數據規模很是龐大的時候才使用,更經常使用的數據庫拆分手段是業務分庫,將不一樣的業務數據庫部署在不一樣的物理服務器上
08
使用NoSQL和搜索引擎
特徵:
系統引入NoSQL數據庫及搜索引擎。

描述:
隨着業務愈來愈複雜,對數據存儲和檢索的需求也愈來愈複雜,系統須要採用一些非關係型數據庫如NoSQL和分數據庫查詢技術如搜索引擎。應用服務器經過統一數據訪問模塊訪問各類數據,減輕應用程序管理諸多數據源的麻煩。
09
業務拆分
特徵:
系統上按照業務進行拆分改造,應用服務器按照業務區分進行分別部署。

描述:
爲了應對日益複雜的業務場景,一般使用分而治之的手段將整個系統業務分紅不一樣的產品線,應用之間經過超連接創建關係,也能夠經過消息隊列進行數據分發,固然更多的仍是經過訪問同一個數據存儲系統來構成一個關聯的完整系統。

縱向拆分:
將一個大應用拆分爲多個小應用,若是新業務較爲獨立,那麼就直接將其設計部署爲一個獨立的Web應用系統。縱向拆分相對較爲簡單,經過梳理業務,將較少相關的業務剝離便可。

橫向拆分:將複用的業務拆分出來,獨立部署爲分佈式服務,新增業務只須要調用這些分佈式服務。 橫向拆分須要識別可複用的業務,設計服務接口,規範服務依賴關係。
10
分佈式服務階段
特徵:
公共的應用模塊被提取出來,部署在分佈式服務器上供應用服務器調用。

描述:
隨着業務越拆越小,應用系統總體複雜程度呈指數級上升,因爲全部應用要和全部數據庫系統鏈接,最終致使數據庫鏈接資源不足,拒絕服務。

更多細節,推薦進一步閱讀:
大型分佈式網站架構設計與實踐
http://item.jd.com/11529266.html
大型網站技術架構核心原理與案例分析
http://item.jd.com/11322972.html


本文分享自微信公衆號 - 宜信技術學院(CE_TECH)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。html

相關文章
相關標籤/搜索