国产91免费_国产精品电影一区_日本s色大片在线观看_中文在线免费看视频

CNTXJ.NET | 通信界-中國通信門戶 | 通信圈 | 通信家 | 下載吧 | 說吧 | 人物 | 前瞻 | 智慧(區塊鏈 | AI
 國際新聞 | 國內新聞 | 運營動態 | 市場動態 | 信息安全 | 通信電源 | 網絡融合 | 通信測試 | 通信終端 | 通信政策
 專網通信 | 交換技術 | 視頻通信 | 接入技術 | 無線通信 | 通信線纜 | 互聯網絡 | 數據通信 | 通信視界 | 通信前沿
 智能電網 | 虛擬現實 | 人工智能 | 自動化 | 光通信 | IT | 6G | 烽火 | FTTH | IPTV | NGN | 知本院 | 通信會展
您現在的位置: 通信界 >> 互聯網絡 >> 技術正文
 
業務設計思想領域驅動的微服務設計實踐
[ 通信界 | 袁健 | www.6611o.com | 2022/10/30 23:07:06 ]
 

作者簡介

袁健,中國移動云能力中心SaaS產品部技術專家組成員,曾負責能力開放平臺、云能OA門戶、集中化遠程交付、集中化計劃建設等產品及項目的研發工作,架構設計及研發管理經驗豐富,在微服務架構設計及領域驅動設計方面有較為深入的研究。

導讀

隨著云原生基礎設施的日漸完善,微服務等架構的日漸成熟,信息系統能夠支撐的業務也越來越復雜。如果沒有適當的方法,就很難對復雜的業務進行分析與實現,云原生基礎設施與架構的效能也很難充分體現。領域驅動設計就是這樣的一種思想,它可以指導研發團隊更好的進行業務分析與規劃,高效高質的提煉領域模型,用領域模型指導架構設計和研發實現。

一、微服務不是銀彈

1、微服務架構的難點

云原生時代微服務架構由于高擴展性、高容錯性、高可用性以及快捷交付的優勢,得到廣泛的應用。但是微服務架構對研發團隊也存在拆分難、治理難的困擾。微服務拆不好,影響系統的后續擴展與實際運行,微服務的優勢得不到體現。微服務治理不好,影響微服務的運行與后期運維。

2、難點應對措施

目前微服務治理工具發展較為完善,不管從框架層面還是基礎設施層面都有很好的解決方案。相對于微服務治理,微服務拆分沒有實體工具來支撐,更多的是需要設計人員的自身能力,不但需要對業務有很好理解,還需要有一定的技術功底,更需要有科學方法論的加持。但是,往往負責微服務拆分的設計人員都缺少科學方法論的支撐,領域驅動設計思想正好能彌補這一方面的空缺。

二、完善的設計思想-領域驅動設計

1、什么是領域驅動設計

領域驅動設計不是架構方法,也不是設計模式,就是一種思維方式(在此基礎上延伸出了一些方法論),通過領域驅動設計這種思維方式,定義領域模型,從而確定業務邊界和應用邊界,保證業務模型和代碼模型的一致性。

很多讀者因為其復雜的理論而認為領域驅動設計只適用于復雜系統或者是微服務架構的系統。這是認識上的誤區,由于整套理論的目的之一是解決設計與研發脫節的問題,因此對于簡單業務或者單體系統也同樣適用。

2、領域驅動思想的由來與發展

領域驅動設計思想首先是Eric Evans提出來的,后來又由Jimmy Nilsson等人不斷的充實和豐富。當前這個思想不是一蹴而就的,在他之前Martin Fower先提出了技術架構領域的設計模式思想。

• 2002年Martin Fower在其出版《企業應用架構模式》中,歸納總結了40多種企業應用架構的設計模式。其中所提到的多種設計模式和概念,如事務腳本、活動記錄和領域模型等,對業界產生了深遠的影響。

• 2004年著名建模專家Eric Evans發表了他最具影響力的著名書籍:《Domain-Driven Design –Tackling Complexity in the Heart of Software》(中文譯名:領域驅動設計—軟件核心復雜性應對之道),書中提出了“領域驅動設計(簡稱DDD)”的概念。

• 此后Jimmy Nilsson的《Applying Domain-Driven Design and Patterns》、Abel Avram和Floyd Marinescu合作的《Domain-Driven Design Quickly》、Dan Haywood的《Domain-Driven Design Using Naked Objects》、以及Vaughn Vernon的《Implementing Domain-Driven Design》等書籍的出版,豐富了領域驅動設計的實踐和指導。

領域驅動設計思想基于架構設計模式,相輔相成,互為補充。Martin Fower的架構設計模式主要是技術架構的設計方法論。而Eric Evans的領域驅動設計填補了業務領域設計的空白,并且為業務設計到技術設計的銜接起到了重要的指導作用,Eric Evans提出領域驅動思想的一個重要目的之一就是希望業務架構設計人員不能和一線研發人員脫節,要不斷接收研發的反饋,不斷的迭代業務架構的設計,使設計真正的能夠落地。

3、領域驅動設計的過程

領域驅動設計貫穿了整個軟件開發的生命周期,包括對需求的分析,建模,架構,設計以及最終的編碼實現。大致可以分為兩個階段,戰略設計和戰術設計。所謂戰略設計,可以簡單理解為粗粒度設計,即領域的劃分。所謂戰術設計,可以簡單理解為細粒度的設計,采用模型驅動設計方法對各領域分而治之,不涉及技術層面的細節但對研發具有指導意義。

領域驅動設計過程是一個演進的過程,戰略設計控制和分解戰術設計的邊界與粒度,戰術設計則以實證角度驗證領域模型的有效性、完整性與一致性,進而以演進的方式對之前的戰略設計階段進行迭代,從而形成一種螺旋式上升的迭代設計過程,兩個不同階段的設計目標是保持一致的,它們是一個連貫的過程,彼此之間又相互指導與規范,并最終保證一個有效的領域模型和一個富有表達力的實現同時演進,如下圖所示:

三、領域驅動設計思想的微服務實踐案例

1、實踐案例介紹

1.1、實踐案例背景及目標

隨著中國移動戰略轉型,計劃建設領域的項目管理辦法逐漸完善及各省信息化系統的逐步實施,導致當前計劃建設管理系統為集團與省公司兩級平臺的建設方式,存在管理方式不統一,精細化管理水平差異大,數據標準化和互通流轉不暢,嵌入式風險管理薄弱等問題,已不能滿足日益提高的項目管理要求,亟待建設集中化的計劃建設管理系統,以達到規范各省項目管理流程、統一數據規范、防范生產及管理風險等目的。

基于上述背景,中國移動集團啟動了集中化計劃建設系統的研發工作。集中化計劃建設管理系統是一個融管理, 業務, 架構于一體的管理系統,實現了計劃建設領域全生命周期流程覆蓋、全專業支撐,要求做到管理一體化、業務一體化以及架構一體化。

1.2、項目研發存在諸多困難與挑戰

集中化計劃建設系統由于需要在管理、業務以及架構三個維度對全國各省各專業公司已有系統及數據進行統一管理,因此在這三個維度分別存在巨大的困難與挑戰。

•  業務維度:隨著業務持續演進,業務復雜度越來越高,業務要求的響應速度也越來越快。

•  技術維度:流程數量較多,流程設計、變更頻次高,對平臺易用性及擴展性要求越來越高;接口交互調用頻次高,對性能及穩定性要求較高;分布式部署環境復雜,需要同時支持集中監控及分域管理。

•  管理維度:跨系統間協作,參與單位多,涉及的人員多,管理復雜度高;流程數量較多,流程發布、變更、下線等管理復雜度高。

針對以上三個維度的困難,在架構及業務領域設計上分別采用了先進的微服務+PaaS的架構模式和領域驅動設計思想。

1.3、采用微服務+PaaS技術架構

系統包括多個獨立自治的子模塊、對于系統可擴展性、容錯率等要求較高,這些要求與微服務架構的優點不謀而合;同時由于其對接系統多、體量大、資源維護難度大,若采用傳統管理模式勢必帶來資源難以管控等問題,因此采用PaaS平臺化的管理模式進行資源及能力統一管控,有利于實現系統彈性擴展能力。

1.4、采用領域驅動設計解決業務復雜問題

由于計劃建設管理系統目標是建設全國集中的、服務一線生產與管理的系統,并且能夠達到規范各單位項目管理流程、統一數據規范、防范生產及管理風險等目的,實現計劃建設領域全生命周期流程覆蓋,全專業支撐,內部及外部用戶全員使用,因此業務邏輯非常復雜。

系統整體業務復雜,從投資計劃到項目歸檔貫穿資產管理全生命周期,沒有科學的業務分析方法,很難做到業務的細化拆解,實現高內聚低耦合的目標,項目團隊通過深入調研和對比,最終決定采用領域驅動設計思想解決目前面臨的業務復雜、微服務拆解困難的問題。

2、基于領域驅動設計思路的微服務落地

項目整體采用領域驅動設計思想。領域驅動設計是自頂向下的設計方法,先在業務期望明確的基礎上進行戰略設計,再進行戰術設計。戰略設計從宏觀角度來觀察和審視軟件系統,戰術設計將戰略設計進行具體化和細節化,側重于技術實現。統一語言的建立貫穿整個項目研發的始終。

2.1、項目團隊領域驅動設計實踐概覽及團隊協作關系

項目團隊在領域專家的帶領下通過對行業最佳實踐的學習以及對PMS現狀診斷及業務期望的分析,梳理系統全景業務流程并對流程進行業務邊界的劃分。基于業務邊界,依據康威定律劃分團隊,各團隊由領域專家和研發組成,每個團隊在各自的業務領域進行分析與設計,團隊間協作關系由項目經理進行協調。架構師在領域專家配合下,在技術實現層面進行微服務設計指導研發編碼實現。

2.2、系統的頂層價值設計

2.2.1、業務期望分析與明確

分析系統的業務期望,首先需要分析系統的相關干系人,對干系人進行歸納,分析他們對系統的期望。借助業務需求和管理關注點分析模型,發現并匯總集團、省分、地市不同關注者的關注點和問題,明確各環 節投資與建設目標。

組織干系人進行頭腦風暴,以便干系人對業務系統期望達成一致。在設計過程中,團隊成員對于愿景的輸入相對較少,潛在原因是前期未達成共識,討論思想較少,目標系統 知識缺乏,主要通過目標系統歸口部門完成相關的信息輸入。

2.2.2、統一語言的建立

為了統一所有領域公共概念的表達形式,項目組在開始進行領域分析之前,先把全局概念進行定義,為戰略設計階段的分析奠定溝通基礎。所有領域專家與研發團隊分別從計劃建設主流程的資金管理和項目管理兩條線進行梳理,從全局角度提煉統一語言。首先梳理了67條核心業務概念,待后續領域劃分好之后,各個領域團隊再逐步細化與定義各自的領域術語,進行領域內表達方式的統一。

2.3、戰略設計階段

2.3.1、業務全景分析

進入戰略設計階段,基于事件風暴分析方法,以領域專家為主導,大家從項目前期、項目實施以及項目收尾三個階段,梳理了從需求規劃到項目結束,包含72個核心事件的全景業務流程。為進一步領域劃分展示了清晰的全景視圖。

事件風暴是一種高度強調交流與協作的可視化工作坊,在分析過程匯總,重點尋找業務流程中產生的領域事件,探索出業務全景。基于業務全景以及事件表達的業務概念,就可以對領域進行劃分,確定子領域和限界上下文。

2.3.2、領域分析與微服務劃分

基于業務全景圖,領域專家和研發團隊對系統業務場景分三個階段(項目前期、項目實施以及項目收尾)進行領域分析與劃分。通過識別限界上下文,聚焦核心領域,以項目前期階段3個核心領域,項目實施階段3個核心領域以及項目收尾階段4個核心領域為中心進行分析,劃分出15個業務域,并通過上下文映射建立它們之間的關系。最后,基于核心業務領域的劃分,領域專家與技術專家進一步分析支撐核心領域的技術能力及非核心領域功能,在核心領域基礎上擴展出20個領域,最終基于領域劃分20個微服務。同時領域專家和研發團隊按微服務分成20個研發小組,一個微服務團隊領域專家和技術專家各一名。

2.4、戰術設計階段

在完成微服務劃分之后,項目組進入單個微服務的詳細設計階段。20個微服務按組分別進行領域模型分析,整個分析過程借鑒了事件風暴和領域模型驅動設計的方法,先對領域進行事件分析,然后細分領域,進行領域內模塊的劃分,最后對領域模型進行建模,指導研發工程師進行程序的研發。期間隨著領域模型分析的不斷深入,各微服務的模型也不斷進行迭代與重構。

其中以物資微服務為例,通過分析劃分出8個模塊(基礎數據、項目領料、物資接收、物料平衡、現場物資、現場物資調撥、項目退料和庫存查詢),然后分別對每個模塊進行建模,指導研發工程師建立ER關系圖。

整個建模過程圍繞業務需求,分析與提煉領業務需求中的領域知識。為了避免受技術的干擾,完全表達業務的邏輯關系,建模過程由領域專家主導,在領域專家指導審核下,模型由研發團隊創建,保證模型的順利落地,業務與技術不脫節。

總結

領域驅動設計的核心是化繁為簡,思想上有其普適性,方法上有其特殊性。實現上大概可以概括為,先以分層架構突出業務領域,再以模型驅動的方法把業務進行領域劃分,最后細分模型指導架構設計與研發實現。在實際研發過程中應該合理采用領域驅動設計思想,揚長避短,靈活運用。

隨著信息化程度的日益增高,業務和技術已深度融合。在業務對技術的要求不斷提高的同時,技術對業務的要求也在不斷提升。沒有好的業務架構設計,要設計好技術架構就會很存在很大的局限性。在業務分析階段應優先考慮領域問題,只有在業務分析透徹的基礎上,才能設計出高內聚低耦合、擴展性良好的技術架構。

 

1203作者:袁健 來源:通信界 編輯:顧北

 

聲明:①凡本網注明“來源:通信界”的內容,版權均屬于通信界,未經允許禁止轉載、摘編,違者必究。經授權可轉載,須保持轉載文章、圖像、音視頻的完整性,并完整標注作者信息并注明“來源:通信界”。②凡本網注明“來源:XXX(非通信界)”的內容,均轉載自其它媒體,轉載目的在于傳遞更多行業信息,僅代表作者本人觀點,與本網無關。本網對文中陳述、觀點判斷保持中立,不對所包含內容的準確性、可靠性或完整性提供任何明示或暗示的保證。請讀者僅作參考,并請自行承擔全部責任。③如因內容涉及版權和其它問題,請自發布之日起30日內與本網聯系,我們將在第一時間刪除內容。 
熱點動態
普通新聞 中信科智聯亮相2023中國移動全球合作伙伴大會
普通新聞 全球首個基于Data Channel的新通話商用網絡呼叫成功撥通
普通新聞 中國聯通:以優質通信服務 助力“一帶一路”共建繁華
普通新聞 楊杰:未來五年,智算規模復合增長率將超過50%
普通新聞 長沙電信大樓火災調查報告發布:系未熄滅煙頭引燃,20余人被問責
普通新聞 鄔賀銓:生態短板掣肘5G潛能發揮,AI有望成“破局之劍”
普通新聞 工信部:加大對民營企業參與移動通信轉售等業務和服務創新的支持力
普通新聞 摩爾線程亮相2023中國移動全球合作伙伴大會,全功能GPU加速云電腦體
普通新聞 看齊微軟!谷歌表示將保護用戶免受人工智能版權訴訟
普通新聞 聯想王傳東:AI能力已成為推動產業升級和生產力躍遷的利刃
普通新聞 APUS李濤:中國的AI應用 只能生長在中國的大模型之上
普通新聞 外媒:在電池競賽中,中國如何將世界遠遠甩在后面
普通新聞 三星電子預計其盈利能力將再次下降
普通新聞 報告稱華為5G專利全球第1 蘋果排名第12
普通新聞 黨中央、國務院批準,工信部職責、機構、編制調整
普通新聞 榮耀Magic Vs2系列正式發布,刷新橫向大內折手機輕薄紀錄
普通新聞 GSMA首席技術官:全球連接數超15億,5G推動全行業數字化轉型
普通新聞 北京聯通完成全球首個F5G-A“單纖百T”現網驗證,助力北京邁向萬兆
普通新聞 中科曙光亮相2023中國移動全球合作伙伴大會
普通新聞 最高補貼500萬元!哈爾濱市制定工業互聯網專項資金使用細則
通信視界
鄔賀銓:移動通信開啟5G-A新周期,云網融合/算
普通對話 中興通訊徐子陽:強基慧智,共建數智熱帶雨
普通對話 鄔賀銓:移動通信開啟5G-A新周期,云網融合
普通對話 華為輪值董事長胡厚崑:我們正努力將5G-A帶
普通對話 高通中國區董事長孟樸:5G與AI結合,助力提
普通對話 雷軍發布小米年度演講:堅持做高端,擁抱大
普通對話 聞庫:算網融合正值挑戰與機遇并存的關鍵階
普通對話 工信部副部長張云明:我國算力總規模已居世
普通對話 鄔賀銓:我國互聯網平臺企業發展的新一輪機
普通對話 張志成:繼續加強海外知識產權保護工作 為助
普通對話 吳春波:華為如何突破美國6次打壓的逆境?
通信前瞻
亨通光電實踐數字化工廠,“5G+光纖”助力新一
普通對話 亨通光電實踐數字化工廠,“5G+光纖”助力新
普通對話 中科院錢德沛:計算與網絡基礎設施的全面部
普通對話 工信部趙志國:我國算力總規模居全球第二 保
普通對話 鄔賀銓院士解讀ChatGPT等數字技術熱點
普通對話 我國北方海區運用北斗三號短報文通信服務開
普通對話 華為云Stack智能進化,三大舉措賦能政企深度
普通對話 孟晚舟:“三大聚力”迎接數字化、智能化、
普通對話 物聯網設備在智能工作場所技術中的作用
普通對話 軟銀研發出以無人機探測災害被埋者手機信號
普通對話 AI材料可自我學習并形成“肌肉記憶”
普通對話 北斗三號衛星低能離子能譜儀載荷研制成功
普通對話 為什么Wi-Fi6將成為未來物聯網的關鍵?
普通對話 馬斯克出現在推特總部 收購應該沒有懸念了
普通對話 臺積電澄清:未強迫員工休假或有任何無薪假
普通對話 新一代載人運載火箭發動機研制獲重大突破
推薦閱讀

聚焦场景化创新 华为擎云亮相中国联通合作伙伴大会

万里数据库GreatDB亮相上合组织数字经济论坛 与哈萨克斯坦人工智能发展协会签署合作协议

3个月迁移、存储成本直降87%!OceanBase助河北移动酬金业务驶入快车道

新紫光集团三周年:智变跃升,交出硬核答卷

亚信科技:助力马来西亚探寻人工智能“崛起时刻”

友商截单?去看苏超?车主是谁?……雷军回应一切,很全! | 次世代车研所

效率跃升300%?鸿蒙电脑定义AI时代商务办公新体验

闪存普惠,一步到位 | 华为商业市场极简全闪数据中心Pro+重磅发布

开源鸿蒙持续壮大 三大运营商全面入局 多元成果亮相HDC2025

数码视讯助力广东卫视、深圳卫视两个4K超高清频道开播
Copyright @ Cntxj.Net All Right Reserved 通信界 版權所有
未經書面許可,禁止轉載、摘編、復制、鏡像