微服務架構案例(06):通過業務、應用、技術、存儲方面,聊聊架構

  • 2019 年 11 月 8 日
  • 筆記

更新進度(共6節): 源碼地址:GitHub·點這裡 || GitEE·點這裡

章節 文章標題
01 項目技術選型簡介,架構圖解說明
02 業務架構設計,系統分層管理
03 資料庫選型,業務數據設計規劃
04 中間件集成,公共服務管理
05 SpringCloud 基礎組件應用設計
06 通過業務、應用、技術、存儲方面,聊聊架構

一、架構的概念

架構分類可細化的分為業務架構、應用架構、技術選型、程式碼規劃、部署環境架構等。業務架構是核心的驅動力,應用架構是實現的思路,技術選型落地是結果。根據用戶需求,設計合理的業務架構,做出相應的應用架構流程,最後落地實施,完成項目。如何在架構的初期,預判業務發展的速度,保證架構可以穩定快速的擴展,支撐起業務發展,這個是軟體開發者,特別是架構師,需要長期積累和修鍊的核心能力。

二、業務架構

業務架構中包括業務規劃、功能模組、流程設計,微服務架構模式中對整個系統的業務進行服務化拆分設計,把實際的業務抽象化,進而進行封裝,優化服務結構。不需要最好的架構,只選則合適的架構,系統架構的原則都要以解決業務問題為核心目標,任何不基於業務做天馬行空的架構都是對公司的不負責任。

三、應用架構

應用架構流程是基於業務架構來設計的,相輔相成的關係。每個應用可以作為獨立的服務組件,把系統規劃為一個個服務模組,進而進行開發,部署,運維等系列操作,所謂應用就是各個服務模組。首選要明確各個服務核心功能,其次確定各個服務間協調工作,保證服務的穩定性。微服務架構模式下,對系統進行水平拆分和垂直拆分,做到可以對任何高並發的服務模組進行獨立擴展,靈活性非常好。

四、數據架構

數據架構是確定資料庫模型的設計,不同業務場景下的數據可以選擇不同種類的庫來存儲,例如搜索的數據可以使用ES,熱點數據可以使用Redis,普通業務數據可以選擇MySQL。

五、項目程式碼規劃

1、分層結構設計

清晰的分層設計可以幫助快發人員快速的理解系統,縮短熟悉系統的時間。

2、模組依賴

給出模組依賴的明確順序,比如介面(Web層)依賴服務層(Service層),服務實現(Impl)依賴持久層介面(Dao),持久層實現(DaoImpl)依賴表實體對象(Entity),避免系統陷入程式碼雜亂的坑中。

3、開發規範

每個項目開發必須要遵守統一的編碼規範文檔,統一命名格式,注釋風格,這樣可以方便其他人員快速閱讀和理解程式碼邏輯。

六、技術選型落地

選擇合適的基礎框架,資料庫,中間件,基於項目的開發規範,把應用架構完整的實現,這樣項目就很難走偏。把握系統的高可用、高性能、擴展、伸縮、安全管理等方方面面的知識需要一個持久的積累和在實踐中不斷進步。

七、源程式碼地址

GitHub·地址  https://github.com/cicadasmile/husky-spring-cloud  GitEE·地址  https://gitee.com/cicadasmile/husky-spring-cloud