




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、消息中間件在郵政電子商務(wù)平臺的應(yīng)用 摘要:通過對郵政電子商務(wù)平臺系統(tǒng)架構(gòu)及RocketMQ消息中間件技術(shù)的分析,提出對平臺架構(gòu)進行優(yōu)化設(shè)計,利用消息中間件實現(xiàn)系統(tǒng)模塊之間的解耦合,減少相互依賴的建議。 關(guān)鍵詞:RocketMQ;消息中間件;電子商務(wù)平臺;集群郵政 電子商務(wù)平臺業(yè)務(wù)受理的一個重要特征是全天營業(yè),實時交易占比高,接入渠道豐富,對接第三方系統(tǒng)繁多。電子商務(wù)的業(yè)務(wù)特點決定了系統(tǒng)在響應(yīng)時間上必須滿足要求,以達到更好的客戶體驗,確保交易完整性。對于平臺自有系統(tǒng),可以通過邏輯優(yōu)化,盡可能避免延時,但是第三方系統(tǒng)的延時則不可控,通常無法干預(yù)其系統(tǒng)優(yōu)化。本文描述了消息中間件技術(shù)在省郵政電子商務(wù)平
2、臺上的應(yīng)用,實現(xiàn)平臺交易模塊的解耦合,減少模塊處理延時的疊加效應(yīng),提高平臺的響應(yīng)速度,提升客戶體驗。 1消息中間件的選型分析 隨著企業(yè)信息化建設(shè)的不斷深入,多種業(yè)務(wù)應(yīng)用相互關(guān)聯(lián),容易造成底層數(shù)據(jù)分散,應(yīng)用系統(tǒng)間的耦合度高。消息中間件技術(shù)有兩個核心功能:異步和解耦。這兩個核心功能可對不同系統(tǒng)間的交互進行解耦,總體上提高應(yīng)用系統(tǒng)的工作效率,增強系統(tǒng)的可用性、穩(wěn)定性和可擴展性。消息隊列已經(jīng)逐漸成為企業(yè)IT系統(tǒng)內(nèi)部通信的核心手段,可以在分布式環(huán)境下提供應(yīng)用解耦、彈性伸縮、冗余存儲、流量削峰、異步通信、數(shù)據(jù)同步等功能。常用消息中間件相關(guān)特點及對比如表1所示。系統(tǒng)在技術(shù)選型上包含以下幾方面考量:一是系統(tǒng)要
3、保證數(shù)據(jù)的完整性,因此選用的中間件應(yīng)該支持事務(wù)處理,并保證交易數(shù)據(jù)不會丟失;二是某些業(yè)務(wù)場景會引起高并發(fā)交易,因此中間件應(yīng)具備應(yīng)對突發(fā)業(yè)務(wù)高峰的處理能力;三是省平臺選型應(yīng)與集團平臺所用技術(shù)保持一致;四是優(yōu)先選擇支持云部署的產(chǎn)品。綜上分析,對比常用中間件的技術(shù)特點,最終選擇RocketMQ作為本次應(yīng)用的消息中間件。 2RocketMQ技術(shù)簡介 RocketMQ是阿里開源的消息中間件,目前歸屬于Apache頂級項目,它是純Java開發(fā),具有高吞吐量、高可用性、適合大規(guī)模分布式系統(tǒng)應(yīng)用的特點。RocketMQ集群包含4個模塊:Namesrv、Broker、Producer、Consumer。Name
4、srv存儲當(dāng)前集群所有Brokers信息、Topic與Broker的對應(yīng)關(guān)系,功能簡單,穩(wěn)定性高。多個Namesrv之間相互沒有通信,單臺Namesrv宕機不影響其他Namesrv與集群。Broker是集群最核心的模塊,主要負(fù)責(zé)Topic消息存儲、消費者的消費位點管理(消費進度),可理解為RocketMQ服務(wù)的注冊中心。Producer是消息生產(chǎn)者,每個生產(chǎn)者都有一個ID(編號),多個生產(chǎn)者實例可以共用一個ID,同一個ID下所有實例組成一個生產(chǎn)者集群。生產(chǎn)者通過Namesrv獲取Topic與Broker的映射關(guān)系,更新到本地內(nèi)存中,再和Topic涉及的所有Broker建立長連接。Consume
5、r是消息消費者,每個訂閱者也有一個ID,多個消費者實例可以共用一個ID,同一個ID下所有實例組成一個消費者集群。消費者通過Namesrv獲取當(dāng)前消費Topic所涉及的Broker,直連Broker。 3郵政電子商務(wù)平臺架構(gòu)分析及優(yōu)化 3.1平臺架構(gòu)分析。郵政電子商務(wù)平臺架構(gòu)如圖1所示,業(yè)務(wù)受理交易通過各渠道系統(tǒng)的渠道前置子系統(tǒng)接入核心應(yīng)用子系統(tǒng),核心應(yīng)用分配一個服務(wù)進程處理,再調(diào)用外聯(lián)前置,將交易請求轉(zhuǎn)發(fā)至第三方。整個交易過程串行,每個子系統(tǒng)的處理時間疊加則為整個交易的處理時間,任意環(huán)節(jié)出現(xiàn)延時,都會在整個交易的處理時間上產(chǎn)生疊加效應(yīng)。對于本地系統(tǒng),可以通過對各子系統(tǒng)的優(yōu)化處理,減少延時,但對
6、于第三方系統(tǒng)郵政無法干預(yù)其優(yōu)化過程,因此第三方系統(tǒng)延時產(chǎn)生的影響更大。3.2RocketMQ消息中間件在平臺的應(yīng)用。為了解決交易延時,在核心應(yīng)用子系統(tǒng)與外聯(lián)前置之間部署一套RocketMQ消息中間件子系統(tǒng),同時在核心應(yīng)用和外聯(lián)前置增加一對消息生產(chǎn)者與消費者模塊,用于生產(chǎn)及消費消息。系統(tǒng)模塊設(shè)計時,選擇在訂單生成與訂單支付之間進行解耦合,訂單生成后,會調(diào)用消息生產(chǎn)者模塊主動向消息中間件登記一條消息,標(biāo)志訂單生成成功;后續(xù)消息消費者(位于外聯(lián)前置)取走消息,并根據(jù)消息類型進行個性化處理,這里主要是進行第三方保險公司投保操作,以此實現(xiàn)訂單生成與支付投保異步處理。優(yōu)化后的電子商務(wù)平臺架構(gòu)如圖2所示。首
7、先,平臺交易到達核心應(yīng)用后,通過生產(chǎn)者模塊向RocketMQ消息中間件推送一條消息。然后,核心應(yīng)用返回前端交易已提交成功,前端交易完成,后續(xù)進行交易狀態(tài)查詢。最后,外聯(lián)前置通過消費者模塊取出消息,根據(jù)消息內(nèi)容獲取訂單信息組裝報文發(fā)送至第三方,獲取第三方返回后將結(jié)果更新到訂單信息中。交易流程優(yōu)化后,前端的訂單支付交易無需等待第三方結(jié)果,很快提示交易提交成功,通過訂單狀態(tài)查詢功能即可獲取訂單狀態(tài);外聯(lián)前置在第三方調(diào)用時,可以對失敗的消息進行多次調(diào)用,直至達到閾值或調(diào)用成功為止。3.3RocketMQ集群部署。RocketMQ部署比較靈活,提供多種集群部署方式,通過配置可以快速形成集群部署,部署方式
8、為異步多Master多Slave模式,每個Master配置一個Slave,部署兩組Master-Slave,HA采用異步復(fù)制方式,主備消息延遲短,僅為毫秒級。這種模式的優(yōu)點是,即使磁盤損壞,消息丟失也較少,且消息實時性不受影響,因為Master宕機后,消費者仍然可以從Slave消費,此過程對應(yīng)用透明,不需要人工進行干預(yù)。RocketMQ在系統(tǒng)應(yīng)用時,需要進行相關(guān)的約束設(shè)計。3.3.1增加消息去重策略。在某些情況下,應(yīng)用消費了消息,但沒有反饋給RocketMQ,該消息將會再次被消費,因此需要增加消息去重策略,可通過對應(yīng)的狀態(tài)位決定是否需要再次處理消息。3.3.2限制消息報文大小。生產(chǎn)消息時需控制
9、消息報文的大小,某些應(yīng)用場景不需要將所有信息都封裝到消息體中,僅記錄關(guān)鍵信息即可。3.3.3合理規(guī)劃消息分組。根據(jù)RocketMQ提供的消息特性,結(jié)合業(yè)務(wù)特點,使用分組-Topic-Tag三級結(jié)構(gòu),按平臺-業(yè)務(wù)-模式將消息分類。 4應(yīng)用效果 RocketMQ消息中間件的應(yīng)用,使交易的本地處理與第三方調(diào)用解耦合,交易各項指標(biāo)都有所提升。系統(tǒng)優(yōu)化改造后,使用LoadRunner等測試工具對郵政各業(yè)務(wù)場景進行了性能壓力測試,結(jié)果顯示,事務(wù)平均通過率達98%以上,事務(wù)平均響應(yīng)時間為1.305s,90%的事務(wù)響應(yīng)時間在2s內(nèi)。前端最直接的體驗是交易耗時短,系統(tǒng)監(jiān)控發(fā)現(xiàn),第三方處理超時對前端請求影響較小。 參考文獻 1歐志芳基于RocketMQ實現(xiàn)異構(gòu)數(shù)據(jù)庫同步網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2016,12 2趙偉
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年單晶生產(chǎn)爐合作協(xié)議書
- 2025年醋酸丁酯合作協(xié)議書
- 2025年電商培訓(xùn)項目合作計劃書
- 大型零售商場合作協(xié)議書
- 2025年橡膠板、桿、型材項目合作計劃書
- 網(wǎng)絡(luò)培訓(xùn)項目合作運營合同
- 農(nóng)業(yè)種植合作社產(chǎn)品收購合同
- 物聯(lián)網(wǎng)技術(shù)應(yīng)用項目投資合同
- 旅游景區(qū)規(guī)劃與設(shè)計服務(wù)合同
- 生物制藥技術(shù)工藝流程試題及答案解析
- 細(xì)胞膜-系統(tǒng)的邊界【公開課教學(xué)PPT課件 高中生物】
- 太原理工大學(xué)年博士研究生招生入學(xué)考試試題
- GB/T 8237-2005纖維增強塑料用液體不飽和聚酯樹脂
- GB/T 7307-200155°非密封管螺紋
- GB/T 14337-2008化學(xué)纖維短纖維拉伸性能試驗方法
- 社團課數(shù)獨入門(課件)
- 全國高中語文優(yōu)質(zhì)課一等獎《雷雨》 課件
- L4-《采購與供應(yīng)策略》-講義課件
- 軟件測試 教學(xué)大綱
- 合歡樹史鐵生課件
- 機房工程系統(tǒng)調(diào)試檢驗批質(zhì)量驗收記錄表
評論
0/150
提交評論