段 莉,劉俊杉,鄭培偉
(中國移動通信集團設計院有限公司黑龍江分公司 哈爾濱150080)
隨著移動E 聯(lián)網(wǎng)時代到來,客戶接觸渠道多樣化,客戶接觸數(shù)據(jù)、客戶描述信息等數(shù)據(jù)大量增多,CRM(Customer Relationship Management,客戶關系管理) 處理業(yè)務量和數(shù)據(jù)量的增長速率遠大于用量的增長速率,相應突發(fā)大規(guī)模訪問的需求增多,瞬時高流量并發(fā)處理是即將面臨的問題,如淘寶“雙十一”瞬時交易量增長10 多倍,對系統(tǒng)響應的實時性要求不斷提高,對系統(tǒng)性能提出新的挑戰(zhàn)。
為助力公司構建移動E 聯(lián)網(wǎng)時代的競爭優(yōu)勢,推進兩級支撐系統(tǒng)的云化、E 聯(lián)網(wǎng)化和共享化的同時,針對突出的痛點問題,集團公司啟動2014年CRM 系統(tǒng)云化架構改造試點工作,提升服務標準化,實現(xiàn)分布式數(shù)據(jù)部署和加強安全管控。
CRM的轉型要求從傳統(tǒng)的CS/BS 計算模式(Server-Centric)逐步向SMAC 計算模式轉型,實現(xiàn)全云化CRM(Service-Centric),具備大數(shù)據(jù)實時驅動、動態(tài)高彈性架構、能力集成與外延等特征。CRM架構轉型示意如圖1 所示。
遵循支撐系統(tǒng)持續(xù)演進規(guī)律,充分考慮現(xiàn)有系統(tǒng)的痛點訴求,采用“先緊急后普通、先易后難、從外圍到核心”的方式,逐步實現(xiàn)運營支撐系統(tǒng)的x86 化。以關鍵應用分布式/小型化改造為基礎,搭建開放化、標準化的軟硬件架構,支撐動態(tài)能力擴展,控制運維成本。CRM 體系架構概念圖如圖2 所示。
省級CRM 系統(tǒng)技術架構應逐步支持x86 平臺,并向低成本的x86 云化基礎設施部署或遷移。通過應用接入分通道,對資源進行集群化,全面均衡各通道的系統(tǒng)壓力,提高系統(tǒng)資源的整體利用率。當硬件資源實施池化后,即可支撐CRM 應用的彈性伸縮,實現(xiàn)硬件的按需分配,充分提高資源利用率。
(1)接入層
接入層主要承載負載均衡軟件,如F5、Radware,直接負責用戶Web 請求接入層,可以實現(xiàn)在x86 上的部署。
建議方案:接入層全部實現(xiàn)刀片化,實現(xiàn)x86化遷移和處理。
(2)應用層
應用層基本由Tuxedo 中間件及Web 中間件承載,應逐步向x86 體系轉移。
建議方案:應用層為非Java 中間件的,支持系統(tǒng)向x86 主機遷移;應用層為Java 中間件的,支持將應用層遷移至x86 刀片機。
數(shù)據(jù)層目前主要承載在Oralce 數(shù)據(jù)庫上,逐步向MySQL/NoSQL 數(shù)據(jù)庫做嘗試性遷移。
建議方案:數(shù)據(jù)層應逐步在某些非核心業(yè)務模塊試用MySQL 等開源數(shù)據(jù)庫,逐步探索和嘗試;逐步引入分布式數(shù)據(jù)庫,管理非核心數(shù)據(jù)及查詢類數(shù)據(jù)。
構建業(yè)務支撐系統(tǒng)IT 資源池,包括Power 資源池和x86 資源池,云平臺通過Wincenter 實現(xiàn)對Power 刀片服務器和x86 架構服務器的管理。WCE是Wincenter的重要功能模塊,底層硬件支持x86架構服務器,支持Xen 虛擬化技術,實現(xiàn)對x86 架構服務器的管理。IBM PowerVM 和IBM System Director 是Power 資源池的管理組件,Wincenter 通過SCE 組件,實現(xiàn)對Power 刀片服務器的管理。具體如圖3 所示。
除CRM 核心數(shù)據(jù)庫外,CRM 云化架構中的服務器均部署在IT 資源池上。其中,內(nèi)部服務總線服務器部署在Power 資源池上,采用Power Linux 系統(tǒng);接入展現(xiàn)層服務器和后臺應用服務器均部署在x86 資源池上,采用Redhat Linux Enterprise 系統(tǒng)。
通過資源池,實現(xiàn)對虛擬化資源的集中管理;通過人性化的操作界面、集中化的管理,屏蔽Xen/PowerVM 這些不同的虛擬化平臺操作模式。
在云架構中,管理軟件通過在虛擬化管理層部署資源生命周期管理組件、資源配置部署組件、資源調(diào)度組件、資源模板管理組件等,對資源池中的各種資源對象進行調(diào)度和控制。
資源部署通過預定的自助服務申請流程實現(xiàn)快速業(yè)務上線,主要過程如圖4 所示。
在業(yè)務上線后的運行期,承載關鍵應用的物理資源的單點故障需要在云化架構中進行有效防范,云化架構的資源控制在物理機意外宕機時,通過HA 故障遷移,根據(jù)策略機制或手動遷移將虛擬機切換到集群中的正常物理機上,過程如圖5所示。
CRM 應用的負載隨不同業(yè)務期、不同時段而變化,云化架構平臺通過支持動態(tài)彈性集群實現(xiàn)彈性計算,應對突并發(fā)流量和負載的增長,實現(xiàn)對資源的動態(tài)調(diào)度和控制,過程如圖6 所示。
J2EE 架構引入的關鍵技術方案主要有兩種。
①J2EE 技術架構:包含了前端界面展現(xiàn)框架、端到端流程打通、上下文管理、交互協(xié)議、日志管理、異常管理、緩存管理、加解密等通用的技術組件等。
②分布式服務框架(DSF):DSF 在參考互聯(lián)網(wǎng)框架Dubbo、Facebook的基礎上,做了大量的優(yōu)化,使其更加輕量和靈活。
6.1 J2EE 技術架構
前臺J2EE 架構使用USL(User Interface Specific Language,用戶界面語言) 實現(xiàn)界面開發(fā),USL特性通過一套成體系的Web UI(UserInterface,用戶界面)組件來承載,設計為面向聲明式的開發(fā),支持元數(shù)據(jù)的描述;封裝了AJAX 技術,從而支持聲明式的頁面區(qū)域數(shù)據(jù)提交、后臺服務執(zhí)行、頁面區(qū)域刷新(頁面元素的增減、數(shù)據(jù)的變化)。整個系統(tǒng)采用J2EE 架構,分為Web 層、服務層、數(shù)據(jù)層,如圖7 所示。
(1)Web 層
界面開發(fā)基于USL,其核心是抽象一組特定的UI 組件,并基于UI 組件約束一套開發(fā)語法。
(2)服務層
服務層通過高速的分布式服務框架,實現(xiàn)業(yè)務的快速開發(fā)和組裝,主要功能有以下幾種。
①內(nèi)部高速通信:DSF 用于系統(tǒng)內(nèi)各模塊之間的服務調(diào)用,使用基于Socket的內(nèi)部二進制通信協(xié)議(參考淘寶Dubbo 和C++中的BSBUS),服務提供者和使用者使用基于契約的調(diào)用方式,之間不需要像eBUS 那樣進行數(shù)據(jù)和接口轉換。
②遠程和本地智能路由:內(nèi)部進行智能路由,支持服務提供者和使用者部署在一起時,智能轉換為內(nèi)部API 調(diào)用;分離部署時,自動發(fā)送到遠端服務提供者的服務器上。
③動態(tài)服務接口:除了提供基于Interface的服務調(diào)用方式,同時提供動態(tài)服務的接口調(diào)用能力,基于這種方式,服務提供者不需要提供Interface Class 文件給使用者,使用者根據(jù)約定拼裝服務參數(shù),運行時會自動根據(jù)服務規(guī)格進行校驗。
④多種實現(xiàn)方式:服務支持Micro Flow、POJO、Groovy 腳本等多種實現(xiàn)方式。
⑤服務流控:提供服務靜態(tài)過負荷和動態(tài)過負荷能力。
(3)數(shù)據(jù)層
在數(shù)據(jù)層重點提供了分布式數(shù)據(jù)訪問組件,實現(xiàn)異構數(shù)據(jù)庫的透明訪問以及數(shù)據(jù)庫連接數(shù)的收斂。
6.2 分布式服務框架
分布式服務框架作為整個下一代CRM 系統(tǒng)的分布式服務框架,承載著平臺和業(yè)務向互聯(lián)網(wǎng)轉型的重任,架構上除了滿足典型的CT 場景外,也具備典型的互聯(lián)網(wǎng)架構特性。
①提供面向互聯(lián)網(wǎng)/分布式環(huán)境下應用后臺服務開發(fā)和運行框架;
②支持云化服務彈性伸縮;
③提供服務統(tǒng)一開發(fā)框架,服務實現(xiàn)支持多種開發(fā)方式;
④一切皆服務的理念,支持服務的無狀態(tài)路由和調(diào)度,支持服務的自發(fā)現(xiàn)、自管理;
⑤支持服務的異步調(diào)用和傳統(tǒng)的RPC 阻塞式調(diào)用兩種方式。
相比于傳統(tǒng)客戶機服務器架構,分布式云化架構因其服務化、高彈性等技術特征,更適應E 網(wǎng)時代的要求。2014年集團公司啟動CRM 云化架構改造試點工作,并且嘗試特定功能域的服務中心化,為向云化架構的全面演進打下基礎。