張?jiān)?,蔡琨,馮雨農(nóng),劉松勁,戴卓恒
(1.中移互聯(lián)網(wǎng)有限公司,廣東 廣州 51000;2.中國移動(dòng)通信集團(tuán)有限公司,廣東 廣州 51000)
重構(gòu)設(shè)計(jì)的過程可以理解為具體到抽象,抽象再到具體的過程。生態(tài)服務(wù)部多個(gè)業(yè)務(wù)線(如移動(dòng)應(yīng)用商城、和生活、權(quán)益中心等)均涉及商城商品運(yùn)營,各業(yè)務(wù)存在大量外部資源合作的需求,目前資源(除互聯(lián)網(wǎng)權(quán)益,互聯(lián)網(wǎng)權(quán)益多數(shù)可從權(quán)益中心接入)接入方式為各個(gè)業(yè)務(wù)線各自商務(wù)洽談,各自建立自己的資源池,商品中心,進(jìn)行資源引入及管理,多個(gè)業(yè)務(wù)線資源存在交叉,重復(fù)對(duì)接引入。
以公司級(jí)的統(tǒng)一資源池建設(shè)為藍(lán)圖,我們比照分析幾個(gè)平臺(tái)的現(xiàn)狀情況,發(fā)現(xiàn)4方面問題: 資源接入、資源議價(jià)、資源融合、資源運(yùn)營。
資源接入的問題在于對(duì)外接入重復(fù),各資源使用方重復(fù)開發(fā)和外部資源方的服務(wù),造成研發(fā)資源浪費(fèi)。
資源融合問題在于資源融合問題能力弱多元類型的資源融合能力弱,在多個(gè)外部資源方調(diào)用服務(wù),出現(xiàn)調(diào)用問題定位困難,影響業(yè)務(wù)發(fā)展。
資源運(yùn)營問題在于基礎(chǔ)運(yùn)營工作重復(fù),資源的基礎(chǔ)運(yùn)營分散,特別是資源標(biāo)簽之類的運(yùn)營工作重復(fù)投入。
基于權(quán)益平臺(tái)統(tǒng)一權(quán)益引入的基礎(chǔ),打造集互聯(lián)網(wǎng)權(quán)益、生活服務(wù)、各類應(yīng)用于一體的統(tǒng)一服務(wù)資源池,對(duì)內(nèi)提供統(tǒng)一出口,減少各業(yè)務(wù)線對(duì)外部多個(gè)平臺(tái)對(duì)接,對(duì)外提供統(tǒng)一入口,減少資源重復(fù)對(duì)接。
生態(tài)合作,統(tǒng)一接入,提升議價(jià)能力,打造生態(tài)業(yè)務(wù)統(tǒng)一接入入口,集多個(gè)業(yè)務(wù)線于一體,提升用戶體量,對(duì)外提升產(chǎn)品議價(jià)能力。
統(tǒng)一接口,減少各業(yè)務(wù)線對(duì)接外部多個(gè)平臺(tái),標(biāo)準(zhǔn)輸出接口:對(duì)接多個(gè)外部平臺(tái),通過標(biāo)準(zhǔn)化接口轉(zhuǎn)化輸出給各個(gè)業(yè)務(wù)線,提升業(yè)務(wù)線商品接入效率,標(biāo)準(zhǔn)訂單接口:對(duì)接多個(gè)外部平臺(tái)下單,統(tǒng)一訂單管理,包括下單,訂單校驗(yàn),訂單回調(diào)等,降低業(yè)務(wù)線與多個(gè)外部接口進(jìn)行聯(lián)調(diào)。
資源融合,靈活制訂融合模式,將跨行業(yè)、跨平臺(tái)的有競(jìng)爭(zhēng)力的資源進(jìn)行整合打包,自主定義價(jià)格,形成新的爆品。
數(shù)據(jù)分析優(yōu)勢(shì),數(shù)據(jù)融合推動(dòng)自身發(fā)展,統(tǒng)一的用戶數(shù)據(jù)、訂單數(shù)據(jù)有助于挖掘出業(yè)務(wù)發(fā)展趨勢(shì)和受歡迎的資源特征,實(shí)現(xiàn)功能和資源接入持續(xù)優(yōu)化。
及時(shí)組建專職保潔員隊(duì)伍,明確河道管護(hù)人員分工,落實(shí)保潔管護(hù)措施,構(gòu)建長(zhǎng)效管護(hù)工作機(jī)制。同時(shí)進(jìn)一步發(fā)展市場(chǎng)化機(jī)制,在本地及周邊縣市擇優(yōu)選擇專業(yè)的保潔管護(hù)公司,建立河道長(zhǎng)效保潔專業(yè)隊(duì)伍,明確保潔范圍、保潔責(zé)任、保潔標(biāo)準(zhǔn)和保潔經(jīng)費(fèi),確保中小河流治理重點(diǎn)縣項(xiàng)目良性運(yùn)行。
資源實(shí)現(xiàn)三個(gè)統(tǒng)一,提升資源對(duì)業(yè)務(wù)多元化支撐能力。隨著業(yè)務(wù)多元化發(fā)展,圍繞“權(quán)益+”模式,各業(yè)務(wù)均存在大量外部資源合作的需求,為了降低外部合作門檻與成本、加快業(yè)務(wù)探索與創(chuàng)新,通過數(shù)字生活平臺(tái)統(tǒng)一資源池的三層服務(wù),對(duì)外資源統(tǒng)一接入、資源統(tǒng)一管理、資源統(tǒng)一輸出,實(shí)現(xiàn)外部資源的單點(diǎn)接入、內(nèi)部的統(tǒng)一管理與統(tǒng)一服務(wù)。
數(shù)智化合作服務(wù)體系微服務(wù)的架構(gòu)風(fēng)格,區(qū)別于面向服務(wù)架構(gòu)(SOA),數(shù)智化合作服務(wù)體系微服務(wù)更專注于對(duì)合作方的松耦合性、動(dòng)態(tài)擴(kuò)容,圍繞數(shù)智化合作服務(wù)業(yè)務(wù)能力構(gòu)建數(shù)智化合作服務(wù),通過輕量級(jí)協(xié)議通信,甚至跨語言組成整個(gè)產(chǎn)品都不會(huì)是什么問題[1-2]。
數(shù)智化合作服務(wù)體系微服務(wù)架構(gòu)擁有極為優(yōu)秀的擴(kuò)展性,熱點(diǎn)微服務(wù)可以自如的進(jìn)行橫向擴(kuò)容,甚至可以在不間斷服務(wù)的情況下熱擴(kuò)容。
圖1 統(tǒng)一資源池總體定位
數(shù)智化合作服務(wù)微服務(wù)的架構(gòu)風(fēng)格,不僅幫助數(shù)智化合作服務(wù)體系解決數(shù)智化在運(yùn)行態(tài)的許多問題,在數(shù)智化合作服務(wù)產(chǎn)品研發(fā)過程中提升效率。數(shù)智化合作服務(wù)產(chǎn)品研發(fā)與迭代的效率提升是驚人的。通過服務(wù)組件化與圍繞業(yè)務(wù)能力構(gòu)建微服務(wù)模塊,而各個(gè)模塊又都專注于本身的業(yè)務(wù)功能,新功能的迭代只會(huì)影響少部分的數(shù)智化合作服務(wù)微服務(wù)模塊,而且松耦合性,新的功能研發(fā)過程變得簡(jiǎn)單、專一;并且新功能上線運(yùn)營,也只需要更改相關(guān)微服務(wù)模塊,使得風(fēng)險(xiǎn)也大為降低。
構(gòu)建統(tǒng)一資源池,加速多類型商品與業(yè)務(wù)融合發(fā)展。統(tǒng)一資源池作為數(shù)字生活平臺(tái)核心模塊,承擔(dān)了應(yīng)用、生活服務(wù)、權(quán)益、第三方H5等多來源、多類型資源的統(tǒng)一接入、統(tǒng)一管理與統(tǒng)一服務(wù)。
基于微服務(wù)架構(gòu),利于后續(xù)更多類型/來源的資源擴(kuò)展,統(tǒng)一資源池采用微服務(wù)架構(gòu),提供統(tǒng)一資源池能力API給到資源使用方。
系統(tǒng)整體設(shè)計(jì)采用四層架構(gòu),包括資源使用層、統(tǒng)一資源接入層、服務(wù)層和資源層:
資源使用層為前端系統(tǒng),基于H5和用戶界面的漸進(jìn)式框架Vue,為用戶提供統(tǒng)一的交互體驗(yàn)。
統(tǒng)一資源接入層通過多種負(fù)載均衡、緩存、流量控制、風(fēng)險(xiǎn)管控、超時(shí)重試、鑒權(quán)和反向代理等多種能力。
微服務(wù)治理模塊和監(jiān)控中心模塊借助阿里云原生服務(wù)生態(tài)提供良好的運(yùn)營運(yùn)維支撐能力
1)服務(wù)發(fā)現(xiàn)
數(shù)智化合作服務(wù)體系基于spring cloud 的Eureka和ribbon為spring cloud中的服務(wù)提供服務(wù)發(fā)現(xiàn)功能解決方案,基于 REST 的服務(wù),用于定位服務(wù),以實(shí)現(xiàn)云端的負(fù)載均衡和中間層服務(wù)器的故障轉(zhuǎn)移[3-4]。
對(duì)于Spring Cloud的中的服務(wù)發(fā)現(xiàn)機(jī)制基于Eureka和ribbon的方式實(shí)現(xiàn)。
數(shù)智化合作服務(wù)體系部署Eureka服務(wù)集群,并使用存儲(chǔ)卷功能,將數(shù)據(jù)持久化存儲(chǔ)。Eureka通過心跳檢測(cè)、健康檢查、客戶端緩存等機(jī)制,保證了系統(tǒng)具有高可用和靈活性。
2)訪問控制
數(shù)智化合作服務(wù)體系使用spring cloud 中的zuul作為服務(wù)網(wǎng)關(guān)實(shí)現(xiàn)對(duì)spring cloud中的服務(wù)進(jìn)行訪問控制。
在容器平臺(tái)部署Zuul服務(wù),提供服務(wù)的路由功能并使用存儲(chǔ)卷存儲(chǔ)持久化數(shù)據(jù)。使用zuul服務(wù)集群作為服務(wù)網(wǎng)關(guān),將請(qǐng)求進(jìn)行服務(wù)路由。
通過Zuul的規(guī)則引擎允許通過任何JVM語言來編寫規(guī)則和過濾器,實(shí)現(xiàn)對(duì)于服務(wù)的訪問控制。同時(shí)可以使用zuul的認(rèn)證功能,實(shí)現(xiàn)認(rèn)證健全和其他訪問控制。
Zuul 是提供動(dòng)態(tài)路由,監(jiān)控,彈性,安全等的邊緣服務(wù)。
數(shù)智化合作服務(wù)體系微服務(wù)的架構(gòu)風(fēng)格,與傳統(tǒng)風(fēng)格拿出來對(duì)比是極為有用的,下面我們舉一個(gè)簡(jiǎn)單的例子,來說一下兩者的區(qū)別數(shù)智化合作服務(wù)體系在微服務(wù)與傳統(tǒng)風(fēng)格的區(qū)別。
微服務(wù)以油站服務(wù)為例,通過微服務(wù)建設(shè)統(tǒng)一的資源池,由多方的資源使用方來調(diào)用資源池的油站服務(wù),來展現(xiàn)數(shù)智化合作服務(wù)實(shí)現(xiàn)的方式
統(tǒng)一資源池通過封裝油站接口為對(duì)應(yīng)的微服務(wù),由業(yè)務(wù)方使用,減少多方重復(fù)對(duì)接,以及通過資源池進(jìn)行用戶資源緩存,提升請(qǐng)求優(yōu)惠券、訂單查詢、油站狀態(tài)機(jī)郵件的速度的方式[5]。
隨著“微服務(wù)+分布式”的快速發(fā)展,各類新的架構(gòu)理論也紛紛與時(shí)俱進(jìn),如微服務(wù)架構(gòu)的提出,就成為軟件研發(fā)各類角色關(guān)注的焦點(diǎn)。生態(tài)服務(wù)部平臺(tái)通過本次“微服務(wù)+分布式”架構(gòu)重構(gòu),整體業(yè)務(wù)支撐能力得到極大提高,并具備了類線性擴(kuò)展業(yè)務(wù)支撐的能力。