通用服務平台之總體架構設計(一)

2021-10-06 11:47:35 字數 1559 閱讀 4365

一晃從事軟體行業已經有多個年頭,而從事伺服器相關後端開發,也有了不短的時間,維護過中小型系統,也曾親身設計過小型系統,但是一直都感覺不太順意,不是自己想要的那種服務體系,很多時候都是在重複造輪子,於是一直在想是不是有可能存在一套通用的服務平台,提供與業務無關的後端服務通用功能,將這些功能糅合成乙個通用服務平台,使得各產品線共享該平台提供的相關功能,各使用者僅需專注自身業務邏輯,減少重複造輪子機會,既加快了開發進度,壓縮了開發成本,同時也能利用平台提公升系統健壯性、可擴充套件性和維護便捷性。近一年來終於有了相對較為寬鬆和自由的時間,一直考慮的這個問題,慢慢在心裡打磨逐漸有了大致的輪廓,於是就有了通用服務平台系列部落格文章。發表該系列文章用意一是為了記錄自身對於通用服務平台的所思所想點滴,二是為了讓有關於該方面設想的同行們一起討論、一起進步,畢竟這是乙個我認為較難的挑戰。

通用服務平台架構設計圖

上圖既是通用服務平台總體架構設計,裡面包含各功能模組構件,各模組間配合工作為系統提供相應功能,共同組成通用平台。下面將一一介紹這些模組構件功用及工作原理。

1. 通用**

通用**是整個系統對外前哨,屬於接入層服務。該服務作用就是處理系統所承載各個產品客戶端連線所發來的資料報,根據資料報提供關鍵資訊和系統預定義規則將資料報**至具體的業務服務進行處理;同時也接收各業務服務傳送而來的資料報,將之**至相應的客戶端。考慮到各產品線差異,不可能為每個產品線開發**服務,那麼就需要有乙個能相容承載所有產品線的通用**服務來完成該功能。同時按照一般**服務需要具備的功能,賦予能單點客戶端通訊能力、**資料能力、鏈路處理能力,在滿足了該三個功能點後,**服務基本成型。具體關於**服務設計詳見通用服務平台之通用**服務篇。

2. 位址分發

位址分發就是客戶端從平台中獲取所有客戶端需要的服務資料。例如客戶端需要的通用**資料,或其他客戶端需要的業務服務資料。這是因為服務資料在系統執行過程中會出現變化,如服務變更部署機房、埠衝突變更埠,等等諸如此類變更,客戶端需要及時對這類變更做出調整,所以需要乙個位址分發的服務為客戶端提供所需服務資料。具體位址分發服務設計詳見相關篇章。

3. 系統資料發布

系統資料發布是通用平台內部體系一些配置資料的管理發布服務。該服務負責從系統db中讀取系統資料,並將資料發布至資料子系統,使系統其它模組構件服務能及時獲取系統資料。

4. 訊息處理子系統

訊息處理子系統承擔訊息的具體分發工作,包括單一分發和**兩類。在平台中新增該子系統目的是進一步為業務服務減壓和簡化邏輯處理,將訊息處理功能歸納統一後,可使得業務服務無需關注客戶端路由資訊,將需要傳送的訊息按照分發型別交給訊息處理子系統既可完成功能。具體子系統設計詳見相關篇章。

5. 多業務線服務或體系

該模組構件是預留給具體業務系統的,真正平台體系中並不存在該部分,出現在架構圖中僅是為了完整性展示。本通用平台存在意義就是為多個不同業務線提供基礎服務,達到乙個通用平台支撐多個業務體系最終目的。

通用服務平台之總體架構設計(二)

通用服務平台之總體架構設計(二)

本篇是通用服務平台總體架構設計第二篇,繼續上篇尚未完成的模組構件功能應用簡介。6.資料子系統 7.通訊子系統 本人所維護過的後端服務中,基本都是服務之間直連。該方法好處在於無中間節點延遲較低,同時由於直連在鏈結斷開處理上比較簡單。雖然有以上諸多好處,但有利就有弊,服務直連就意味著服務需要進行鏈結服務...

軟體架構設計 二 系統總體架構設計

系統總體架構非常重要,但在表達上都不盡相同,下面介紹幾種常用的系統架構模式,供參考 assf access service biz standard fundation 模式 訪問 服務 業務功能 標準 基礎,對系統架構各個層次均有表達,但部署應用模式需要有單獨說明,如下圖方式組織系統總體架構 lo...

軟體架構設計 二 系統總體架構設計

系統總體架構非常重要,但在表達上都不盡相同,下面介紹幾種常用的系統架構模式,供參考 assf access service biz standard fundation 模式 訪問 服務 業務功能 標準 基礎,對系統架構各個層次均有表達,但部署應用模式需要有單獨說明,如下圖方式組織系統總體架構 lo...