有贊零售財務中臺架構設計與實踐
一、背景
二、財務中臺業務架構
2.1 零售整體業務架構
零售整體業務架構分為前臺業務、總部中臺、企業/業務後臺。
2.2 財務中臺業務架構
財務中臺彙集全渠道銷售、供應鏈、資產、營銷推廣等資料,自動完成會計核算,生成相應的財務資料。同時,財務中臺可以進一步對接企業的財務總賬;為其他系統整合提供標準化的開放能力;為合作伙伴提供費用對賬等服務;為資料包表提供原始資料,加工出財務報表,為財務分析、業務決策提供有力的支援。
三、財務中臺應用架構
3.1 什麼是應用架構?
3.2 如何設計應用架構?
系統上下文:是最高的抽象層次,代表了能夠提供業務價值的構件。一個系統由多個獨立的容器構成。 容器:是指一個在其內部可以執行元件或駐留資料的構件。作為整個系統的一部分,容器通常是可執行檔案,但未必是各自獨立的程式。 元件:可以想象成一個或多個類組成的邏輯群組。元件通常由多個類在更高層次的約束下組合而成。 類:在一個物件導向的世界裡,類是軟體系統的最小結構單元。
3.3 財務中臺應用架構設計
3.3.1 系統上下文層次設計
應用層:應用層是很薄的一層,應用層內的服務對應一個具有業務價值的業務用例。它主要負責對領域服務進行組合和編排,負責處理業務用例內的執行順序以及結果的組裝,透過API閘道器向接入層提供服務。容器級應用層涉及整個系統的邏輯,通常包含多個廉價的限界上下文,它們的內部業務邏輯不會很複雜,但因為直接面向使用者,為了應對快速變化的外部需求,應用層變動會非常頻繁,它透過領域服務的組合和編排實現業務流程的快速適配上線。例如:上圖所示的結算管理是一個應用層限界上下文,它為接入層提供與結算管理相關的應用服務,它透過組合、編排領域層的核算域、結算域、收付域以及其他業務系統的領域服務,來實現自身應用服務能力。 領域層:領域層是很厚的一層,它是業務軟體的核心所在,包含了本領域所涉及的領域物件、領域服務以及它們之間的關係,負責表達業務概念、業務狀態資訊以及業務規則。領域驅動設計提倡富領域模型,即儘量將業務邏輯歸屬到領域物件上,實在無法歸屬的部分則以領域服務的形式進行定義。使用者的需求經常變化,但變化總是有規律的,使用者體驗、操作習慣、市場環境以及管理流程的變化,往往會導致介面邏輯、應用邏輯變化,但核心領域邏輯不會有太大變化,所以領域層的業務邏輯通常是共性的、穩定的。容器級領域層涉及整個系統的邏輯,通常包含多個限界上下文,它們為整體系統的微服務拆分提供依據。 基礎設施層:它向其他層提供通用的技術能力,例如:分散式通訊能力、持久化能力、訊息通訊能力、任務排程能力等。
3.3.3 元件層次設計
介面層定義了提供給上層使用的服務協議(API),介面層的使用方通常是展現層。 這裡的應用層是更細粒度的、容器內的層次,或者說是戰術級別的層次,根據複雜度不同,它通常包含一到多個限界上下文的應用服務和業務元件,每個應用服務透過編排其他限界上下文的服務,實現業務場景或業務用例。 防腐層用於和其他限界上下文整合,在防腐層內部,你可以將自己的模型和外部模型進行轉換,防止受外部模型汙染,進而讓內部邏輯不穩定。當外部模型或介面協議發生變化時,只需要修改防腐層邏輯,不會影響到自身業務邏輯。
介面層定義了提供給上層使用的服務協議(API),介面層的使用方通常是應用層容器。 應用層透過編排領域層的領域服務、領域模型以及少量外部服務來對外提供服務能力,這裡強調少量的外部服務,是因為領域層容器內部的業務邏輯通常是共性的、穩定的,它只會依賴比它更基礎、更穩定的服務能力,而且依賴外部服務要儘可能少,這樣才能保證容器內部的業務邏輯是共性的、穩定的。 這裡的領域層是更細粒度的、容器內的層次,或者說是戰術級別的層次。領域層包含各種領域模型,例如:領域實體、聚合根、領域服務、倉儲等。倉儲作為領域層和基礎設施層的連線元件,使得領域層不必過多的關注儲存細節。在設計時,將倉儲介面放在領域層,而將倉儲的具體實現放在基礎設施層,領域層透過介面訪問資料儲存,而不必過多的關注倉儲儲存資料的細節,這樣使得領域層將更多的關注點放在領域邏輯上面。
3.3.4 類層次設計
四、微服務架構設計
將巨大單體應用拆分為多個微服務來解決複雜性問題。 每個微服務可以由專門的團隊來開發維護。 每個微服務可以獨立部署、獨立擴充套件。
微服務架構是分散式架構,會帶來分散式架構固有的複雜性。 資料庫分割槽帶來的資料一致性問題。 測試一個基於微服務架構的應用系統變得非常麻煩。
五、中臺、DDD與微服務
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31556440/viewspace-2655606/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 響應式架構與 RxJava 在有贊零售的實踐架構RxJava
- 面向微服務架構設計理念與實踐微服務架構
- 有贊業務對賬平臺的探索與實踐
- vivo 服務端監控架構設計與實踐服務端架構
- 資料中臺:資料服務的架構設計實踐架構
- 微服務與領域驅動設計,架構實踐總結微服務架構
- 有贊百億級日誌系統架構設計架構
- 【架構與設計】常見微服務分層架構的區別和落地實踐架構微服務
- 網易考拉規則引擎平臺架構設計與實踐架構
- 北達軟微服務架構設計與實踐圓滿結束微服務架構
- 作業幫多雲架構設計與實踐架構
- 微服務架構的4大設計原則和一個平臺實踐微服務架構
- 攜程實時計算平臺架構與實踐丨DataPipeline架構API
- 基於大中臺架構的電商業務中臺最佳實踐之一:業務中臺總體架構介紹架構
- B站千億級點贊系統服務架構設計架構
- Vue 專案架構設計與工程化實踐Vue架構
- vivo 全球商城:商品系統架構設計與實踐架構
- 從0到10億,微信後臺架構及基礎設施設計與實踐!架構
- vivo全球商城:庫存系統架構設計與實踐架構
- 單體架構&微服務架構&中臺服務架構架構微服務
- 有贊容器化實踐
- 短視訊 SDK 架構設計實踐架構
- 架構設計思想-微服務架構設計模式架構微服務設計模式
- 基於大中臺架構的電商業務中臺最佳實踐之三:交易中臺技術要點設計之高效能架構
- 微服務架構最佳實踐微服務架構
- 深度解讀KubeEdge架構設計與邊緣AI實踐探索架構AI
- vivo 全球商城:優惠券系統架構設計與實踐架構
- Vue 在大型專案中的架構設計和最佳實踐Vue架構
- 新零售SaaS架構:組織管理的底層邏輯與架構設計架構
- SACC2017:資料庫架構設計與實踐的後半生資料庫架構
- 交易日均千萬訂單的儲存架構設計與實踐架構
- B站萬億級資料庫選型與架構設計實踐資料庫架構
- vivo商城促銷系統架構設計與實踐-概覽篇架構
- 螞蟻區塊鏈BaaS平臺架構與實踐區塊鏈架構
- spring微服務架構設計與輕量級微服務架構及最佳部署Spring微服務架構
- 有贊全鏈路壓測引擎的設計與實現
- SaaS架構:開放平臺架構設計架構
- Node之道:設計、架構和最佳實踐 | Alex Kondov架構