?企業在實際運營的過程中,研發人員為了產品的快速上線運營,往往把一臺服務器當網站,論壇、數據庫等應用全部放到一臺云服務器上,前期沒有合理規劃系統。此外,還有一種常見的情況是:前期測試的服務器到正式上線時,測試服務器直接變為線上環境,沒有合理規劃系統架構。
因此,當遇到故障時,容易造成整個業務系統癱瘓,同時,業務環境會對服務器的CPU、內存、磁盤、帶寬等系統資源進行競爭,顯然,目前常見的系統架構已經不適應企業的實際應用需求。
企業為什么需要進行系統架構升級
用戶系統架構遇到這樣的情況時,就說明亟待升級了,例如:
當業務系統訪問量達到1000W級別應用場景時,有孚網絡通過“垂直擴展“按照不同的業務拆分到不同的服務器上。
垂直擴展
按照不同的業務Web、緩存、數據庫等切分到不同的業務服務器之上,這種切分稱之為垂直擴展。
此時,通過分布式文件系統OSS已經解決了文件存儲的性能問題,CDN也已經解決靜態資源訪問的性能問題。但是當訪問壓力再次增加,這個時候Web服務器和數據庫方面依舊是瓶頸。在此有孚網絡通過垂直擴展,進一步切分Web服務器和數據庫的壓力,解決性能問題。
業務拆分
在業務層,可以把不同的功能模塊拆分到不同的服務器上面進行單獨部署。如賬戶模塊、訂單模塊、商品模塊等,拆分到不同服務器上面部署。
讀寫分離
當數據庫層結合數據庫緩存,數據庫壓力還是很大的時候。有孚網絡通過讀寫分離的方式,進一步切分及降低數據庫的壓力。
分庫
結合業務拆分、讀寫分離,在數據庫層,同樣可以把賬戶模塊、訂單模塊、商品模塊所涉及的數據庫表,如賬戶模塊表、訂單模塊表、商品模塊表等,分別存放到不同數據庫中,然后把不同數據庫分別部署到不同服務器中。
架構:CDN +SLB +ECS +OSS +緩存數據庫Redis +RDS(數據庫主從)+讀寫分離:
當業務系統訪問量達到2000W以上級別應用場景時,有孚網絡則通過“水平擴展”增加業務服務器、分布式數據庫。
當訪問量達到2000萬pv及以上時,垂直擴展的架構開始無法滿足需求。比如,讀寫分離僅解決“讀”的壓力,面對高訪問量,高寫入,業務無法滿足需求,出現性能瓶頸。另外,分庫雖然將壓力拆分到不同數據庫中。但單表的數據量達到TB級別以上,顯然已經達到傳統關系型數據庫處理的極限。
增加更多的Web服務器
通過業務垂直拆分部署在不同服務器后,當后續壓力進一步增大,增加更多的Web服務器進行水平擴展。
增加更多的SLB
單臺SLB也存在單點故障的風險,即SLB也存在性能極限,如QPS最大值為30000。通過DNS輪詢,將請求輪詢轉發至不同可用區的SLB上面,實現SLB水平擴展。
采用分布式緩存
雖然有孚網絡Redis內存數據庫已經是分布式結構,但是同樣單一的入口也存在單點故障的風險可能。并且也存在性能極限,如最大吞吐量峰值為512Mbps。有孚網絡部署多臺云數據庫Redis版,可以在代碼層通過Hash算法將數據分別緩存至不同的云數據庫Redis版中。
分布式數據庫(DRDS)
面對高并發、大數據的需求,傳統的關系型數據庫已不再適合。需要采用DRDS(mysql sharding分布式系統)
架構:CDN +DNS輪詢 +SLB +云服務器?+對象存儲OSS +緩存數據庫Redis + DRDS(分布式數據庫)
隨著云計算的發展,IT時代已經逐漸向DT時代開始轉型,在云端構建千萬級別的系統架構大勢所趨。有孚網絡在教育、醫療、零售、文娛傳媒、政企等行業深耕多年,積攢了豐富的實踐經驗,充分展示了有孚云系統架構的能力,同時結合有孚云產品,致力于擴展千萬級別的系統架構,為企業升級系統架構保駕護航。