張云,蔡琨,馮雨農,劉松勁,戴卓恒
(1.中移互聯網有限公司,廣東 廣州 51000;2.中國移動通信集團有限公司,廣東 廣州 51000)
重構設計的過程可以理解為具體到抽象,抽象再到具體的過程。生態服務部多個業務線(如移動應用商城、和生活、權益中心等)均涉及商城商品運營,各業務存在大量外部資源合作的需求,目前資源(除互聯網權益,互聯網權益多數可從權益中心接入)接入方式為各個業務線各自商務洽談,各自建立自己的資源池,商品中心,進行資源引入及管理,多個業務線資源存在交叉,重復對接引入。
以公司級的統一資源池建設為藍圖,我們比照分析幾個平臺的現狀情況,發現4方面問題: 資源接入、資源議價、資源融合、資源運營。
資源接入的問題在于對外接入重復,各資源使用方重復開發和外部資源方的服務,造成研發資源浪費。
資源融合問題在于資源融合問題能力弱多元類型的資源融合能力弱,在多個外部資源方調用服務,出現調用問題定位困難,影響業務發展。
資源運營問題在于基礎運營工作重復,資源的基礎運營分散,特別是資源標簽之類的運營工作重復投入。
基于權益平臺統一權益引入的基礎,打造集互聯網權益、生活服務、各類應用于一體的統一服務資源池,對內提供統一出口,減少各業務線對外部多個平臺對接,對外提供統一入口,減少資源重復對接。
生態合作,統一接入,提升議價能力,打造生態業務統一接入入口,集多個業務線于一體,提升用戶體量,對外提升產品議價能力。
統一接口,減少各業務線對接外部多個平臺,標準輸出接口:對接多個外部平臺,通過標準化接口轉化輸出給各個業務線,提升業務線商品接入效率,標準訂單接口:對接多個外部平臺下單,統一訂單管理,包括下單,訂單校驗,訂單回調等,降低業務線與多個外部接口進行聯調。
資源融合,靈活制訂融合模式,將跨行業、跨平臺的有競爭力的資源進行整合打包,自主定義價格,形成新的爆品。
數據分析優勢,數據融合推動自身發展,統一的用戶數據、訂單數據有助于挖掘出業務發展趨勢和受歡迎的資源特征,實現功能和資源接入持續優化。
及時組建專職保潔員隊伍,明確河道管護人員分工,落實保潔管護措施,構建長效管護工作機制。同時進一步發展市場化機制,在本地及周邊縣市擇優選擇專業的保潔管護公司,建立河道長效保潔專業隊伍,明確保潔范圍、保潔責任、保潔標準和保潔經費,確保中小河流治理重點縣項目良性運行。
資源實現三個統一,提升資源對業務多元化支撐能力。隨著業務多元化發展,圍繞“權益+”模式,各業務均存在大量外部資源合作的需求,為了降低外部合作門檻與成本、加快業務探索與創新,通過數字生活平臺統一資源池的三層服務,對外資源統一接入、資源統一管理、資源統一輸出,實現外部資源的單點接入、內部的統一管理與統一服務。
數智化合作服務體系微服務的架構風格,區別于面向服務架構(SOA),數智化合作服務體系微服務更專注于對合作方的松耦合性、動態擴容,圍繞數智化合作服務業務能力構建數智化合作服務,通過輕量級協議通信,甚至跨語言組成整個產品都不會是什么問題[1-2]。
數智化合作服務體系微服務架構擁有極為優秀的擴展性,熱點微服務可以自如的進行橫向擴容,甚至可以在不間斷服務的情況下熱擴容。

圖1 統一資源池總體定位
數智化合作服務微服務的架構風格,不僅幫助數智化合作服務體系解決數智化在運行態的許多問題,在數智化合作服務產品研發過程中提升效率。數智化合作服務產品研發與迭代的效率提升是驚人的。通過服務組件化與圍繞業務能力構建微服務模塊,而各個模塊又都專注于本身的業務功能,新功能的迭代只會影響少部分的數智化合作服務微服務模塊,而且松耦合性,新的功能研發過程變得簡單、專一;并且新功能上線運營,也只需要更改相關微服務模塊,使得風險也大為降低。
構建統一資源池,加速多類型商品與業務融合發展。統一資源池作為數字生活平臺核心模塊,承擔了應用、生活服務、權益、第三方H5等多來源、多類型資源的統一接入、統一管理與統一服務。
基于微服務架構,利于后續更多類型/來源的資源擴展,統一資源池采用微服務架構,提供統一資源池能力API給到資源使用方。
系統整體設計采用四層架構,包括資源使用層、統一資源接入層、服務層和資源層:
資源使用層為前端系統,基于H5和用戶界面的漸進式框架Vue,為用戶提供統一的交互體驗。
統一資源接入層通過多種負載均衡、緩存、流量控制、風險管控、超時重試、鑒權和反向代理等多種能力。
微服務治理模塊和監控中心模塊借助阿里云原生服務生態提供良好的運營運維支撐能力
1)服務發現
數智化合作服務體系基于spring cloud 的Eureka和ribbon為spring cloud中的服務提供服務發現功能解決方案,基于 REST 的服務,用于定位服務,以實現云端的負載均衡和中間層服務器的故障轉移[3-4]。
對于Spring Cloud的中的服務發現機制基于Eureka和ribbon的方式實現。
數智化合作服務體系部署Eureka服務集群,并使用存儲卷功能,將數據持久化存儲。Eureka通過心跳檢測、健康檢查、客戶端緩存等機制,保證了系統具有高可用和靈活性。
2)訪問控制
數智化合作服務體系使用spring cloud 中的zuul作為服務網關實現對spring cloud中的服務進行訪問控制。
在容器平臺部署Zuul服務,提供服務的路由功能并使用存儲卷存儲持久化數據。使用zuul服務集群作為服務網關,將請求進行服務路由。
通過Zuul的規則引擎允許通過任何JVM語言來編寫規則和過濾器,實現對于服務的訪問控制。同時可以使用zuul的認證功能,實現認證健全和其他訪問控制。
Zuul 是提供動態路由,監控,彈性,安全等的邊緣服務。
數智化合作服務體系微服務的架構風格,與傳統風格拿出來對比是極為有用的,下面我們舉一個簡單的例子,來說一下兩者的區別數智化合作服務體系在微服務與傳統風格的區別。
微服務以油站服務為例,通過微服務建設統一的資源池,由多方的資源使用方來調用資源池的油站服務,來展現數智化合作服務實現的方式
統一資源池通過封裝油站接口為對應的微服務,由業務方使用,減少多方重復對接,以及通過資源池進行用戶資源緩存,提升請求優惠券、訂單查詢、油站狀態機郵件的速度的方式[5]。
隨著“微服務+分布式”的快速發展,各類新的架構理論也紛紛與時俱進,如微服務架構的提出,就成為軟件研發各類角色關注的焦點。生態服務部平臺通過本次“微服務+分布式”架構重構,整體業務支撐能力得到極大提高,并具備了類線性擴展業務支撐的能力。