分布式消息總線中消息代理的設計與仿真
發(fā)布時間:2017-09-29 01:02
本文關鍵詞:分布式消息總線中消息代理的設計與仿真
【摘要】:傳統(tǒng)的消息中間件由于其架構和設計思想,存在著單點失效和可擴展性差的問題。為了積極應對市場變化帶來的各種機遇和挑戰(zhàn),企業(yè)要求應用系統(tǒng)規(guī)模更加動態(tài),架構更加靈活,響應更加迅速。基于分布式架構的消息總線應運而生,它采用了去中心化的設計,消息服務由多臺地位平等的節(jié)點組成的集群協(xié)作提供。但這樣的消息系統(tǒng)面臨著幾方面的挑戰(zhàn):如何高效合理地分配多個節(jié)點的工作負載、如何保證消息不丟失、如何處理節(jié)點失效等。這樣的系統(tǒng)實現(xiàn)起來十分復雜,并且需要大量的推理和驗證。因此,對一個消息總線的核心組件消息代理中部分功能進行設計并仿真是一個具有較高研究價值和實際意義的課題,對實現(xiàn)一個完整的消息系統(tǒng)具有重大的指導意義。 本文根據(jù)對現(xiàn)有系統(tǒng)的研究和總結,提出了一種新的消息代理的設計方案,并基于NS2這種成熟的使用C++實現(xiàn)的仿真系統(tǒng)進行了仿真實現(xiàn)。其后,設計了幾組場景對仿真系統(tǒng)進行測試,并完成了對測試結果的分析。 首先對現(xiàn)有的消息系統(tǒng)進行了分析,結合它們的優(yōu)缺點和存在的挑戰(zhàn)提出了消息代理的設計目標,包括靈活的負載均衡、保證消息不丟失以及高可用性;谇笆稣{(diào)研分析和設計目標,對各個目標提出具體的設計方案。負載均衡機制的設計包括以下幾個部分:分割主題的所有權、對消息進行重排序、消息代理的工作負載的計算以及使用分布式協(xié)調(diào)服務。保證消息不丟失的設計主要借助于外部持久化服務。針對高可用性,則設計了消息代理的失效恢復機制。 接下來,本文根據(jù)設計方案設計了仿真消息系統(tǒng)的總體架構與系統(tǒng)中核心的數(shù)據(jù)結構,以及發(fā)布者、訂閱者和消息代理三個模塊之間交互的接口;分別對消息系統(tǒng)中的三個模塊進行了詳細設計,包括模塊內(nèi)部相關功能的具體流程設計;此外,還介紹了仿真系統(tǒng)的輸入與輸出數(shù)據(jù)的設計。在仿真系統(tǒng)的實現(xiàn)章節(jié),本文給出了三個模塊的核心算法設計與部分代碼實現(xiàn),并以文字的形式描述了消息的處理流程。 隨后,本文展示了所設計的幾組場景下整個仿真系統(tǒng)運行的結果與相關圖表,闡述了分析之后得到的結論。最后,對作者在課題期間的工作成果進行了總結。
【關鍵詞】:分布式 消息總線 消息代理 離散事件仿真
【學位授予單位】:北京郵電大學
【學位級別】:碩士
【學位授予年份】:2014
【分類號】:TP336;TP391.9
【目錄】:
- 摘要4-6
- ABSTRACT6-10
- 第一章 緒論10-13
- 1.1 研究背景10-11
- 1.2 研究目的和意義11
- 1.3 課題研究內(nèi)容及主要工作11-12
- 1.4 論文結構12-13
- 第二章 相關技術13-17
- 2.1 消息中間件13-15
- 2.1.1 系統(tǒng)架構模型13
- 2.1.2 消息傳遞模型13-14
- 2.1.3 發(fā)布訂閱系統(tǒng)的分類14
- 2.1.4 通知模型14
- 2.1.5 實際系統(tǒng)介紹14-15
- 2.2 仿真系統(tǒng)介紹15-16
- 2.2.1 通用仿真系統(tǒng)15
- 2.2.2 NS2仿真系統(tǒng)15-16
- 2.3 本章小結16-17
- 第三章 消息代理的設計17-23
- 3.1 設計目標18
- 3.2 負載均衡18-21
- 3.2.1 主題所有權分割18-19
- 3.2.2 重排序19
- 3.2.3 消息代理的工作負載19-20
- 3.2.4 分布式協(xié)調(diào)服務20
- 3.2.5 算法描述20-21
- 3.3 消息狀態(tài)的維護21-22
- 3.4 失效恢復22
- 3.5 本章小結22-23
- 第四章 消息代理仿真的設計與實現(xiàn)23-44
- 4.1 仿真設計23-30
- 4.1.1 系統(tǒng)整體結構23-24
- 4.1.2 數(shù)據(jù)結構24-25
- 4.1.3 模塊接口設計25-26
- 4.1.4 發(fā)布者模塊設計26-27
- 4.1.5 訂閱者模塊設計27-28
- 4.1.6 消息代理模塊設計28
- 4.1.7 輸入輸出設計28-30
- 4.2 實現(xiàn)30-43
- 4.2.1 仿真環(huán)境30-31
- 4.2.2 數(shù)據(jù)結構的實現(xiàn)31-33
- 4.2.3 模塊的實現(xiàn)33-41
- 4.2.4 仿真系統(tǒng)的運行41-43
- 4.3 本章小結43-44
- 第五章 消息代理的仿真實驗與性能分析44-61
- 5.1 場景設計44-45
- 5.1.1 負載均衡44-45
- 5.1.2 失效恢復45
- 5.2 性能分析45-60
- 5.2.1 負載均衡46-59
- 5.2.2 失效恢復59-60
- 5.3 本章小結60-61
- 第六章 結語61-63
- 6.1 論文工作總結61
- 6.2 問題與展望61
- 6.3 研究生期間工作61-63
- 6.3.1 發(fā)表論文61
- 6.3.2 參與項目61-62
- 6.3.3 主要負責的工作62
- 6.3.4 提交文檔62-63
- 參考文獻63-64
- 致謝64-65
- 作者攻讀學位期間發(fā)表的學術論文目錄65
【參考文獻】
中國期刊全文數(shù)據(jù)庫 前1條
1 馬建剛;黃濤;汪錦嶺;徐罡;葉丹;;面向大規(guī)模分布式計算發(fā)布訂閱系統(tǒng)核心技術[J];軟件學報;2006年01期
,本文編號:939051
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/939051.html
最近更新
教材專著