對以往作過的電商項目技術架構作一次總結。前端
使用SOA分佈式架構的方式去治理電商項目,解決分佈式、高併發、高可用、集羣、負載均衡等問題。數據庫
互聯網大型網站項目架構拆分:緩存
1、前端服務器
1.資源靜態化架構
網上商城系統網站靜態化資源就是請求一個url訪問一個服務器上面的網頁,並且這個網頁上的資源基本不會發生變化,因此咱們的每次請求其實都是重複請求。併發
2.負載均衡負載均衡
負載均衡是分佈式服務架構設計必須考慮的因素之一,它將請求/數據均勻的平攤到各個操做元件中。異步
2、應用服務分佈式
1.業務模塊化模塊化
將應用程序根據網上電子商城系統業務模塊進行拆分,使每一個模塊可以獨立運行在服務器上。在發佈時,某個模塊的問題不會影響到整個應用程序,只需解決出現問題的模塊,而後將其發佈,是相對粗粒度的服務應用。
2.服務總線
全部的應用之間須要鏈接時,若是應用變多,相對的鏈接數也會成倍增加,這時須要一個服務總線,將全部的服務接口透明化出來,對於應用於應用之間的鏈接,只需通過服務總線這個過程,實現1對1的鏈接。
3.消息隊列
對於互聯網架構異步操做必不可少,使用消息隊列能夠解決各類操做的同步性,將部分操做變成異步。異步能夠防止互聯網網站的高峯操做。
同時消息隊列對應用之間進行解耦,應用之間的操做不須要約定,也能夠處理相應的操做。
4.讀寫分離
數據庫的寫比較耗時,而數據庫的讀效率很高,因此數據庫的寫操做影響了查詢效率。在應用中經過切換數據源實現讀寫分離。
5.緩存
緩存可以減輕數據庫訪問的必定壓力,加快訪問速度,是互聯網架構中必不可少的元素。
3、數據庫
一、分庫分表
垂直分表:主要是分散系統負載,讓一臺機器作的事情變成幾臺服務器作。
水平分表:縮小索引區大小,使查找更快。
二、分佈式系統
1.分佈式的應用和服務
將應用和服務進行分割,應用和服務模塊分佈式部署。這樣作不只提升併發訪問能力、減小數據庫鏈接和資源消耗,還能使不一樣
應用複用服務,利於擴展。
2.分佈式靜態資源
對網站靜態資源如JS、CSS、圖片資源進行分佈式部署,減輕應用服務器負載壓力,提升訪問速度。
原創文章做者:數商雲,轉載請標註來源