1、解密B端復雜業務應用的防治藝術:如何實現大規模且持續增長的應用架構升級與治理劉曉成 京東零售 架構師劉曉成京東零售 架構師“京東零售架構師,京東零售認證講師,先后在創業公司、騰訊、滴滴、京東多家公司任職,關注復雜業務、高可用架構領域。21年加入京東,曾負責黃金鏈路逆向退款業務團隊,完成多個遺留債務應用架構升級,同時負責訂單履約、自主售后、資費結算、服務市場等BP架構工作。目前主要負責軟件工程服務防治體系的建設,致力于為業務提供風險的預防識別以及構建風險因子的洞察診斷能力。過往曾獲PMP認證、騰訊云技術社區22年最佳作者、InfoQ寫作平臺百位簽約作者和審核版主?!敝v師簡介目錄一、零售電商B端業
2、務的演進二、大規模且持續增長的應用挑戰三、軟件工程服務的防治體系建設與實踐四、總結與展望亮點介紹幾百+幾百+?幾十WZoom In?Zoom Out?幾千應用一、零售電商B端業務的演進二、大規模且持續增長的應用挑戰三、軟件工程服務的防治體系建設與實踐四、總結與展望零售電商B端業務的演進業態發展年份經營定位1990年前集貿式零售1991-2002連鎖店式零售2003-2015電子商務零售2016-至今全渠道新零售零售業向全渠道運營演進,以消費者為中心,線上與線下渠道同時運營。零售業進入電子商務時代,C2C、B2C、B2B等多種模式共存。零售體系發展迅速,零售業態逐漸豐富,百貨商店,連鎖超市,便利
3、店等共存。改革開放前,百貨商店實行計劃資源分配;改革開放后,國有大型企業百貨為零售主體。以大型百貨店為單一業態:1917:先施百貨1918:永安百貨1956:公私合營(國營百貨公司+農村供銷社)大型百貨倒閉,業態多樣化:1991:聯華超市1994:物美超市1995:家樂福等外資超市其他:當當、亞馬遜、蘇寧、國美、萬達等2003:香港上市,2004:蘇寧上市非典疫情、互聯網+等,電商高速發展:2003:淘寶網2004:新浪一拍網2005:騰訊拍拍網2008:百度有啊2004:京東多媒體網2006:淘寶商城2008:唯品會2010:凡客2010:美團網2014.5:京東上市,2014.9:阿里巴巴
4、上市線上流量紅利結束,全渠道+用戶為中心驅動價值凸顯,業態專業化、精細化:2015:阿里盒馬生鮮2015:拼多多2018:抖音快手電商戰略其他:微信、微博、小紅書、B站等電子商務領域出現的各類創新模式和業態,如直播電商、內容電商、社交電商、移動電商、新零售、興趣電商、信任電商、C2M(用戶直連制造)、即時零售零售電商B端業務的演進一、零售電商B端業務的演進二、大規模且持續增長的應用挑戰三、軟件工程服務的防治體系建設與實踐四、總結與展望大規模且持續增長的應用挑戰用戶視角團隊視角管理者視角軟件各種小問題(系統穩定性差)軟件經常無法使用(系統可用性差)多個平臺重復運營(數據未打通)多版本多分支應用交
5、付(應用功能交付難)需求多、重復開發、加班頻繁(需求壓力大)問題故障不斷,排查難(人肉運維苦)重復建設多技術負債重人力成本高業務不滿意局部視角大規模且持續增長的應用挑戰全局視角O2O到店到家POP到店、到家自營到店、到家B2B商城零售商、貿易商以及第三方定制化需求的商家線下供貨B2S采購、退供、預測補貨等線下數字化門店ERP、POS收銀、門店科技、DMS等B2C商家POP商家VC商家人、貨、場線上與線下融合難度高顧客人群差異、運營差異、渠道差異、營銷策略差異、商品結構差異等體驗與效率技術棧不統一、前后端未分離物流配送、時效、服務等要求效率不同,多套重復建設,體驗差異大商城業務海外業務商業化業務
6、健康業務商家商品交易門店履約售后結算會員權益風控庫存渠道挑戰業務模式產品能力基礎設施DBESMQCacheRPC大規模且持續增長的應用挑戰業務價值、業務運營模式終端體驗邏輯規則、穩定性、性能領域模型、技術方案、業務流程軟件工程的“魂”軟件工程的“肉”軟件工程的“骨”軟件工程的“皮”改編自換個角度認識軟件-Thought Works 林寧架構迷思消費者服務者大規模且持續增長的應用挑戰環境的復雜多變個體的有限知識老板的戰略目標:打造一款用于海軍戰斗的航空母艦架構迷思一、京東零售B端業務的演進二、大規模且持續增長的應用挑戰三、軟件工程服務的防治體系建設與實踐四、總結與展望軟件工程服務的防治體系建設與
7、實踐架構元素關系約束ISO/IEC 42010:20072中對架構有如下定義:The fundamental organization of a system,embodied in its components,their relationships to each other and the environment,and the principles governing its design and evolution.架構是系統的基礎組織方式,包括各組成部分、關系(組成部分之間、組成部分與環境之間)以及指導其設計和演進的原則。架構設計架構設計原則軟件工程服務的防治體系建設與實踐企業架構
8、(EA)業務架構(BA)應用架構(AA)數據架構(DA)技術架構(TA)戰略愿景不清,缺乏價值共識系統重復建設,業務復雜,信息孤島嚴重數據錯誤,體驗不一致技術棧不統一,基礎設施維護難跨團隊、跨系統的企業級架構宏觀規劃治理軟件工程服務防治體系價值設定價值探查價值分析價值拆解價值實現價值驗證戰略價值驅動設計方案業務域業務場景業務身份業務流程子領域領域服務領域能力擴展點架構治理業務復雜度業務身份切面垂直維度水平維度內核維度集合骨架架構治理數據復雜度前后端分離單元化部署 關停并轉網關統一 系統平臺化架構治理技術復雜度組件統一平臺工具流程規范統一戰略體系:構建企業級視角業務域盤點確認流程建模領域建模系統
9、現狀整理 對外接口、依賴接口、庫表、業 務邏輯、流程 產品現狀整理 整理當前業務方、整理各個業務場景邏輯差異、整理近1年項目需求改動、整理業務方未來訴 業務側溝通 當前業務現狀、目前問題及訴求、業務未來規劃方向 業務建模業務模式分析業務運營流程梳理,整理業務、功能、場景、行為、事件等分析,確定業務價值業務領域分離將業務邏輯、領域邏輯相隔離,明確區分業務邊界、領域邊界統一語言溝通將業務名詞、業務身份、業務含義、業務場景、維度等統一管理1、明確問題域2、面向業務分析通用流程設計將業務運營流程中相似邏輯進行合并,形成可復用的流程設計可變點設計將業務運營流程中差異化的內容進行擴展點能力抽離業務身份設計
10、根據業務場景細分業務運營流程,并明確業務定義規則,統一用業務身份進行區分3、面向流程約束4、面向模型設計能力模型設計將能力進行組裝,形成特定業務身份場景下的解決方案,提供基礎服務、擴展服務等。數據模型設計對象與存儲分離,將對象模型進行集合、骨架、切面相分離,比如DDD中的聚合、實體、值對象等。業務模型設計將業務與數據分離,業務模型聚焦領域服務、領域能力、擴展點。服務實現5、面向技術實現業務、能力可視化將數據模型翻譯成特定S chema模型可視化,將能力模型上報進行能力可視化。平臺化代碼結構以視圖服務層、能力聚合層、共享基礎層進行業務聚合,以垂直、水平、內核進行module拆分。分層架構設計以接
11、口層、應用層、領域服務、領域能力、擴展點、擴展點實現、基礎設施、持久化為8層邏輯分離。架構成熟度評估體系(代碼與設計一致性、代碼宏觀質量、代碼微觀質量)業務價值度量反饋體系(人、貨、場的價值樹拆解指標,諸如GMV、NPS等)軟件工程服務的防治體系建設與實踐統一作戰地圖:構建企業級視角軟件工程服務的防治體系建設與實踐統一技術方案:構建企業級視角大規模應用&最小單元管理單體應用&分層架構管理代碼層面&擴展點實現對抗熵增的斗爭:在本質復雜度天然存在的情況下,我們傾向于優先處理偶然復雜度集團/事業部條線/敏捷團隊研發小組成員軟件工程服務的防治體系建設與實踐頂層設計規劃:商家生態案例解析演進式驅動規劃:
12、快退案例解析軟件工程服務的防治體系建設與實踐問題域問題驅動愿景驅動全局規劃局部規劃引申全局識別有效問題確定目標范圍設計落地規劃實施融合過程保障切量機制收集一線反饋驅動架構演進軟件工程服務的防治體系建設與實踐實踐案例分析:從需求到治理實踐渠道業務場景業務2B業務B商城提取共性業務共性業務分銷專賣店社會化門店線下零售商線上店流程識別通用流程訂單鎖定攔截意向單審核訂單刪單業務子域領域服務領域能力擴展點定制化業務能力模型廠直商家審核對公轉賬退款訂單商家實物子領域領域事件領域對象擴展點面向業務分析面向流程約束面向模型設計業務模型數據模型流程編排擴展點實現模型設計業務身份ID面向技術實現身份管理語言管理應
13、用管理任務管理需求管理業務身份ID應用身份識別擴展點實現JAR運行基礎設施平臺打包編譯部署服務配置管理平臺需求指標管理工具管理需求交付管理業務復雜度執行生效上報業務解析APIMQWorkerUserInterfaceOrchestrationeDomainServiceDomainAbilityExtensionExtensionImplementInfrastruturePersistence流程框架數據復雜度元數據PO外數據DTO業務數據BO(集合、骨架、切面)數據映射技術復雜度下沉軟件工程服務的防治體系建設與實踐實踐案例分析:從負債到預防探索標準規范架構方案評審自動化工具掃描手工上報跟蹤
14、可視化分析-微服務架構設計規范-第三方系統集成規范-技術選型指南-開源軟件使用規范-API設計規范-編碼規范-特殊解決方案評審規則 反饋修正反饋修正反饋修正反饋修正預估縮減低效容器成本300W+預計人均提效30%-40%關停并轉應用0事故團隊效果數據展示部門效果數據展示人均需求吞吐量提升3-4倍軟件工程服務的防治體系建設與實踐一、京東零售B端業務的演進二、大規模且持續增長的應用挑戰三、軟件工程服務的防治體系建設與實踐四、總結與展望NOYES3個主義3個建議總結與展望案例心得戰爭的本質是什么?架構治理的本質是什么?手眼腦總結與展望下一步規劃:“人體”系統是如何升級與治理的?總結與展望下一步規劃:AI與”人體“系統健康微 信 官 方 公 眾 號:壹 佰 案 例關 注 查 看 更 多 年 度 實 踐 案 例