分布式架構的管理與實現

1、概述

在傳統(tǒng)的B/S 架構的系統(tǒng)里,技術架構往往是一個工程項目,各個邏輯分層都是該工程的業(yè)務邏輯模塊,但是有些網站,如電商系統(tǒng)或全國性服務平臺,用戶群龐大,網站并發(fā)量高,且需求變化大,以及網站處于對安全的考慮,以上的邏輯分層在技術架構上的實現也會復雜的多。

那么考慮采用分布式架構,將系統(tǒng)拆分成多個子系統(tǒng)。

分布式系統(tǒng)定義:

組件分布在網絡計算機上

組件之間僅僅通過消息傳遞來通信并協(xié)調行動

2、整體框架
image.png

我們這個項目叫staro2,主要分為以下5個模塊:

(1)staro2-manager——后臺管理系統(tǒng)

(2)staro2-portal——前臺門戶系統(tǒng)

(3)staro2-rest——應用服務層

(4)移動端——Android、iOS、微信平臺

(5)MySQL——數據庫

下面介紹各個模塊的功能與設計結構。

3、后臺管理系統(tǒng)

傳統(tǒng)的工程結構:

image.png

傳統(tǒng)項目是一個項目,三層架構控制層、業(yè)務邏輯層和數據訪問層。

考慮后期的可拓展性與并行開發(fā),本文采用分散式的開發(fā)方式,采用maven管理項目。

后臺管理系統(tǒng)的項目結構設計如下:
image.png

staro2-parent(pom工程) – 管理依賴jar包的版本,全局,公司級別,所有項目進行依賴.

staro2-common(jar包) – 通用組件,工具類,為工程提供通用功能.

staro2-manager(pom工程) – 聚合工程。包括staro2-pojo(jar包) 、staro2-mapper(jar包) 、staro2-service(jar包) 、staro2-pojo(jar包) 、staro2-controller(war包)工程。

staro2-pojo(jar包) – 實體類,封裝簡單的java對象。

staro2-mapper(jar包) – 持久化層。數據訪問,本文采取mybatis框架。

staro2-service(jar包) – 業(yè)務邏輯層。

staro2-controller(war包) – 控制層和視圖層。Spring、SpringMVC。

4、前臺門戶系統(tǒng)

staro2-portal前臺門戶系統(tǒng)主要包括控制層和視圖層staro2-portal-controller和邏輯層staro2-portal-service。邏輯層調用應用服務層(staro2-rest)請求數據。

5、應用服務層

star-rest應用服務層對外提供rest形式的服務,供其他系統(tǒng)如web前端、android、iOS和微信公眾號調用。使用http協(xié)議傳遞json數據。主要分為三層:數據訪問層、業(yè)務邏輯層和控制層。

6、移動端

移動端包括android系統(tǒng)和iOS系統(tǒng)。

android移動端采用MVP架構+RxJava+Retrofit。

iOS移動端采用MVVM(Model-View-ViewModel)編程模式架構。

7、MySQL

目前是單庫多表設計,隨著業(yè)務的增大,考慮分庫分表如下。

image.png
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容