商城架構分析與比較

一、淘淘商城創建(架構設計概要)

1.傳統架構和 分佈式架構和 面向服務架構對比

傳統架構

併發量:500

存在的問題:

​ 1、功能耦合度高

​ 2、系統維護成本高

​ 3、如果併發量大,無法解決高併發的問題
在這裏插入圖片描述

傳統架構的優化

搭建tomcat集羣 使用nginx做負載均衡

併發量此時升級爲1000

在這裏插入圖片描述
存在的問題:

1、系統無法有效進行水平擴展(集羣不能針對功能模塊)

2、用戶存在重複登錄的問題

針對第二點:需要session共享,是以session廣播的形式,比較消耗資源,寬帶。

如果要達到10000併發

需要20臺服務器做tomcat集羣。當tomcat集羣中節點數量增加,服務能力先增加後下降。

所以集羣中節點數量不能太多,一般也就5個左右(2500併發量)

分佈式架構

需要按照功能點把系統拆分,拆分成獨立的功能工程,可以單獨爲某一個節點添加服務器,需要系統之間配合才能完成整個業務邏輯這就叫做分佈式。

併發量 :10000

在這裏插入圖片描述

集羣:相當於同一個工程代碼拷貝多份部署到多臺服務器,每臺服務器單獨獨立部署運行。

分佈式架構:

​ 把系統按照模塊拆分成多個子系統;多個子系統相互協作才能完成業務流程系統之間需要進行通信。

優點:

1、把模塊拆分,使用接口通信,降低模塊之間的耦合度。

2、把項目拆分成若干個子項目,不同的團隊負責不同的子項目。

3、增加功能時只需要再增加一個子項目,調用其他系統的接口就可以。

4、可以靈活的進行分佈式部署(方便系統的擴展)。

缺點:

1、系統之間交互需要使用遠程通信,需要開發接口,增加工作量。

2、各個模塊有一些通用的業務邏輯無法公用(存在某一功能重複開發的問題 例:訂單系統和後臺管理系統可能都使用了操作商品的dao,service,此時的dao,service,重複開發,造成冗餘)。

基於SOA(面向服務)的架構

SOA:Service Oriented Architecture面向服務的架構。也就是把工程都拆分成服務層工程、表現層工程。服務層中包含業務邏輯,只需要對外提供服務即可。表現層只需要處理和頁面的交互,業務邏輯都是調用服務層的服務來實現。工程都可以獨立部署。


在這裏插入圖片描述
與分佈式相比 此時 訂單系統和後臺管理系統可以共用商品服務

優點

1.功能模塊升級方便(易於擴展) 系統之間進一步降低耦合度

2.服務重用度增強 進一步降低開發成本和維護成本

3.可以靈活的進行分佈式部署

二、淘淘商城架構定型


在這裏插入圖片描述表現層(處理用戶請求,請求參數的處理,頁面的展示)

服務層 (數據的持久化,數據庫的查詢,操作redis緩存,使用activeMQ做系統之間的通訊)

表現層和服務層之間的調用 使用dobbo

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章