資源描述:
《消息傳遞模型轉(zhuǎn)換機制的研究與實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、消息傳遞模型轉(zhuǎn)換機制的研究與實現(xiàn)第一章緒論1.1課題研究背景分布式系統(tǒng)⑴由于具備資源共享、并發(fā)性和容錯性等特點,在實際應(yīng)用系統(tǒng)中得到了廣泛應(yīng)用。在實際的分布式系統(tǒng)中,不同組件之間的通信一般依靠中間件來完成。中間件為系統(tǒng)組件間通信提供可靠、高效的消息傳遞服務(wù),在通信中充當(dāng)著代理人的作用,消息生產(chǎn)者和接收者無需直接交互,而是與中間件這個代理人進行通信,實現(xiàn)消息生產(chǎn)者和消息消費者在時間和空間上的解賴。中間件依靠可靠的消息傳遞機制來實現(xiàn)數(shù)據(jù)通信的平臺無關(guān)性,通過提供不同的消息傳遞模型來擴展分布式系統(tǒng)組件間的通信方式。中間件中消息的傳遞機制由消息傳遞模型決定,遵循的消息傳遞模型不同,則消息的傳遞機制
2、也就不同。中間件可以遵循的消息傳遞模型有多種,從早期的MessagePassing、RPC和Notifications,到如今的消息隊列(MessageQueueing)和發(fā)_'布/訂閱(Publish/Subscribe),消息傳遞模型一直在往更高的靈活性、更松散的稱合性發(fā)展[3]。其中,消息隊列模型與發(fā)布/訂閱模型以較強的靈活性和松親合性己在如今中間件中廣泛應(yīng)用。消息隊列模型與發(fā)布/訂閱模型都具有異步、松散稱合的特點,且消息傳遞都面向消息,正因如此,支持這兩種消息傳遞模型的中間件也叫做消息中間件。消息隊列模型[5]最早應(yīng)用于不同進程間或同一進程的不同線程間的通信,如今被廣泛應(yīng)用
3、于短信發(fā)送、郵件發(fā)送以及日志記錄等實際應(yīng)用中。發(fā)布/訂閱模型[6]主要分為兩大類:基于主題的發(fā)布/訂閱模型[7]和基于內(nèi)容的發(fā)布/訂閱模型[8]。基于內(nèi)容的發(fā)布/訂閱模型由于很多關(guān)鍵技術(shù)還未成熟,比較有影響的相關(guān)應(yīng)用實例暫時沒有。而基于主題的發(fā)布/訂閱模型由于更易于實現(xiàn),在性能方面更具有可預(yù)測性,早期就己經(jīng)被應(yīng)用到很多成熟的實際應(yīng)用中,這些應(yīng)用涉及銀行、證券、制造業(yè)和企業(yè)信息化等各個領(lǐng)域[6]。消息隊列模型與基于主題的發(fā)布/訂閱模型在語義上雖但有差異,兩種模型的消息中間件在實現(xiàn)上存在很多相似之處。..1.2課題研究目標(biāo)鑒于現(xiàn)有遵循消息隊列模型的分布式消息中間件相對缺乏,若能研究出一種在分布
4、式消息中間件中實現(xiàn)消息隊列模型的可行機制,使得分布式消息中間件也能夠支持消息隊列模型,則分布式消息中間件必將能更好地服務(wù)于分布式系統(tǒng),更大地滿足分布式系統(tǒng)對不同消息傳遞模型的需求??紤]到現(xiàn)有比較成熟的分布式消息中間件大多支持基于主題的發(fā)布/訂閱模型,且消息隊列模型與基于主題的發(fā)布/訂閱模型在系統(tǒng)實現(xiàn)上有很多相似之處,為了最大限度地降低實現(xiàn)成本,本課題旨在研究一種將基于主題的發(fā)布/訂閱模型轉(zhuǎn)換為消息隊列模型的轉(zhuǎn)換機制,并將此轉(zhuǎn)換機制應(yīng)用于現(xiàn)有支持基于主題的發(fā)布/訂閱模型的分布式消息中間件中,將中間件的消息傳遞模型轉(zhuǎn)換為消息隊列模型,從而得到支持消息隊列模型的分布式消息中間件。.第二章相關(guān)技術(shù)
5、2.1分布式消息中間件分布式系統(tǒng)⑴中各組件之間可能是異構(gòu)的,為了屏蔽底層的異構(gòu)性,系統(tǒng)中的組件之間通信需要使用消息中間件技術(shù)。消息中間件實質(zhì)是一個軟件層,以提供可靠的、平臺無關(guān)的消息傳遞服務(wù)為目標(biāo),對外提供統(tǒng)一的接來屏蔽通信雙方的異構(gòu)性。在分布式系統(tǒng)出現(xiàn)以前,傳統(tǒng)的消息中間件系統(tǒng)是非分布式的。而在近幾年,隨著云計算和分布式等技術(shù)的逐漸成熟,消息中間件本身也開始朝著分布式系統(tǒng)發(fā)展。分布式的消息中間件系統(tǒng)由分布在不同計算機上的組件構(gòu)成,這些計算機通過網(wǎng)絡(luò)進行互連,組件之間通過傳遞消息進行通信和協(xié)調(diào)。與傳統(tǒng)的非分布式的消息中間件系統(tǒng)相比,分布式的消息中間件系統(tǒng)具有以下幾個特點:1)異構(gòu)性:分布式
6、消息中間件系統(tǒng)中的不同計算機可能使用著不同的網(wǎng)絡(luò)、不同的計算機硬件、不同的操作系統(tǒng)、不同的編程語言以及由不同開發(fā)者完成的軟件實現(xiàn)。2)開放性:分布式消息中間件系統(tǒng)能夠以不同的方式被擴展和重新實現(xiàn),具體來說指的是系統(tǒng)可以很容易地添加新的功能服務(wù),或?qū)河械墓δ苓M行重構(gòu)。3)可伸縮性:也稱為可擴展性,分布式消息中間件系統(tǒng)的規(guī)模是可伸縮的,系統(tǒng)組件數(shù)量和用戶數(shù)量的激增是一個常量,不影響系統(tǒng)的有效性。4)并發(fā)性:分布式消息中間件系統(tǒng)可以接受用戶對系統(tǒng)資源的并發(fā)訪問,多個用戶同時對同一種資源進行操作時,系統(tǒng)依然是并發(fā)安全的、有效的。5)透明性:分布式消息中間件系統(tǒng)對用戶屏蔽了分布式系統(tǒng)組件的分離性,
7、即在用戶看來,系統(tǒng)是一個整體,而不是獨立組件的集合,內(nèi)部組件的復(fù)雜連接是對用戶來說透明的。6)故障恢復(fù):分布式消息中間件系統(tǒng)將故障發(fā)生視為常態(tài),系統(tǒng)能夠容忍故障的發(fā)生。當(dāng)發(fā)生故障時系統(tǒng)能很快從故障中恢復(fù)回之前的狀態(tài),使用戶絲毫感覺不到故障的發(fā)生。2.2消息傳遞模型中間件以提供可靠高效的消息傳遞服務(wù)為目標(biāo),由消息傳遞模型來決定消息傳遞機制。中間件可以遵循不同的消息傳遞模型,如早期的MessagePassing、RPC和No