互聯(lián)網(wǎng)加的模式帶來(lái)應(yīng)用架構(gòu)的改變,應(yīng)用從傳統(tǒng)客戶(hù)端/服務(wù)端模型向客戶(hù)端/中間件服務(wù)器/數(shù)據(jù)庫(kù)服務(wù)器三層模型改變。其中中間件服務(wù)對(duì)接各種功能的服務(wù)(集群)集合,為其它應(yīng)用服務(wù)提供良好的使用環(huán)境。消息中間件主要應(yīng)對(duì)突發(fā)消息和持續(xù)消息洪峰,提供平衡服務(wù)器資源負(fù)載和穩(wěn)定生產(chǎn)環(huán)境的能力。消息中間件的異步服務(wù)能力改變了業(yè)務(wù)層層依賴(lài)問(wèn)題,系統(tǒng)在水平擴(kuò)展方面變的容易。消息中間件又稱(chēng)開(kāi)放式消息服務(wù),各大廠商都有不同的實(shí)現(xiàn)方案。早期的消息中間件多為國(guó)外技術(shù)廠商研發(fā)用于內(nèi)部的商業(yè)軟件,使用難度高、設(shè)計(jì)復(fù)雜、通用性差、技術(shù)不開(kāi)源等,并不能滿足互聯(lián)網(wǎng)應(yīng)用的復(fù)雜環(huán)境。分布式事務(wù)消息是要求多條消息完整、有序的特例,實(shí)現(xiàn)理念和使用場(chǎng)景導(dǎo)致各消息中間件設(shè)計(jì)方案不同。早期分布式事務(wù)設(shè)計(jì)更多考慮嚴(yán)格事務(wù)一致性,并沒(méi)有關(guān)注事務(wù)消息的拆分、異步執(zhí)行、事務(wù)消息重排序的等優(yōu)化手段。目前國(guó)內(nèi)互聯(lián)網(wǎng)行業(yè)的興起,提出了消息中間件自己的設(shè)計(jì)方案。比較國(guó)內(nèi)外同行以高吞吐量為設(shè)置目標(biāo)支持高并發(fā)的開(kāi)源消息中間件,并擁有成熟的分布式事務(wù)解決方案仍沒(méi)有成熟的標(biāo)準(zhǔn)。針對(duì)業(yè)務(wù)多樣、峰值不確定、高效并發(fā)、使用方便、服務(wù)穩(wěn)定,本文描述了一款基于java語(yǔ)言實(shí)現(xiàn)的高性能、輕量級(jí)消息中間件DTube。本文結(jié)合Linux操作系統(tǒng)的管理機(jī)制和分布式系統(tǒng)理論,設(shè)計(jì)基于消息中間件的分布式存儲(chǔ)的實(shí)現(xiàn),主要工作包括以下幾個(gè)方面:(1)設(shè)計(jì)并實(shí)現(xiàn)用于消息堆積的分布式存儲(chǔ)模型。這一部分包括消息分類(lèi)的設(shè)計(jì)、消息存儲(chǔ)隊(duì)列、消息存儲(chǔ)的分布式分發(fā)。分布式存儲(chǔ)模型邏輯上把每個(gè)存儲(chǔ)服務(wù)器當(dāng)做一個(gè)文件使用。基于分布式存儲(chǔ)模型可以實(shí)現(xiàn):發(fā)送與接收普通消息;發(fā)送與接收順序消息;消息在消費(fèi)時(shí)服務(wù)端的過(guò)濾。分析分布式一致性的相關(guān)理論:兩軍問(wèn)題、拜占庭將軍問(wèn)題、paxos算法,設(shè)計(jì)用于處理消息重復(fù)問(wèn)題的方法。分析消息中間件規(guī)范,參考相關(guān)先進(jìn)的消息中間件的設(shè)計(jì)思路。(2)設(shè)計(jì)并實(shí)現(xiàn)用于分布式事務(wù)消息處理模型。分布式事務(wù)基于XA兩階段提交協(xié)議原理實(shí)現(xiàn)。這一部分為了解決多階段的分布式事務(wù)的處理問(wèn)題。基于此模型可以實(shí)現(xiàn):發(fā)送端的分布式事務(wù)處理提交和消費(fèi)端批量消息消費(fèi)的處理提交。(3)設(shè)計(jì)并實(shí)現(xiàn)用于分布式消息的查詢(xún)功能。這一部分提供用于大規(guī)模消息查詢(xún)的功能:通過(guò)Message Id查詢(xún)消息;通過(guò)Message Key查詢(xún)消息。Message Id查詢(xún)是通過(guò)記錄文件的位置。Message Key查詢(xún)?cè)O(shè)計(jì)了 一個(gè)類(lèi)似Java7的HashMap的文件存儲(chǔ)結(jié)構(gòu)。隨后闡述了不同類(lèi)型消息在消息隊(duì)列中存儲(chǔ)的原理已經(jīng)發(fā)送消費(fèi)消息簡(jiǎn)單例子和流程。(4)使用DTube的優(yōu)化和其它實(shí)現(xiàn)細(xì)節(jié)。優(yōu)化包括:文件系統(tǒng)、部署方式、Linux系統(tǒng)內(nèi)核調(diào)優(yōu)。DTube其它方面的設(shè)計(jì)包括:網(wǎng)絡(luò)傳輸與序列化、I/O的零拷貝、高可用備份設(shè)計(jì)。優(yōu)化網(wǎng)絡(luò)傳輸與序列化是提高性能的有效手段。
【學(xué)位單位】:山東大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位年份】:2018
【中圖分類(lèi)】:TP311.52
【部分圖文】:
發(fā)布/訂閱模型逡逑圖2-1發(fā)布訂閱模型圖逡逑上圖消息隊(duì)列的核心功能是訂閱/發(fā)布,其它功能根據(jù)使用特點(diǎn)不發(fā)布訂閱模型中,生產(chǎn)者發(fā)布主題并發(fā)送大量消息,消費(fèi)者訂閱主

XX逡逑>主題5逡逑發(fā)布/訂閱模型逡逑圖2-1發(fā)布訂閱模型圖逡逑如上圖消息隊(duì)列的核心功能是訂閱/發(fā)布,其它功能根據(jù)使用特點(diǎn)不同增加逡逑功能。發(fā)布訂閱模型中,生產(chǎn)者發(fā)布主題并發(fā)送大量消息,消費(fèi)者訂閱主題消費(fèi)逡逑8逡逑

物理存儲(chǔ)設(shè)備,軟件的存儲(chǔ)管理應(yīng)符合物理設(shè)備的工作原理。Linux操作多用機(jī)械硬盤(pán),本文假定使用硬件是機(jī)械磁盤(pán)。機(jī)械硬盤(pán)構(gòu)造圖,文件系統(tǒng)理應(yīng)該符合機(jī)械硬盤(pán)的物理工作原理。上圖例子所示磁盤(pán)有255個(gè)盤(pán)eads)、988邋個(gè)磁道(cylinders)、63邋個(gè)扇區(qū)(sectors/track)、扇區(qū)邏輯和大。ǎ樱澹悖簦铮蝈澹螅椋澹┑闹凳牵担保玻猓簦澹螅矗埃梗叮猓簦澹、隨機(jī)I/O和流式I/O首選單4096byteS/40%byteS。隨機(jī)讀寫(xiě)更多耗費(fèi)磁頭移動(dòng)的時(shí)間,機(jī)械磁盤(pán)構(gòu)造不機(jī)讀寫(xiě),磁盤(pán)緩存能有效降低磁盤(pán)磁頭移動(dòng)時(shí)間但增加了異常情況數(shù)據(jù)丟1
【參考文獻(xiàn)】
相關(guān)期刊論文 前10條
1 陸晨;馮向陽(yáng);蘇厚勤;;HTML5 WebSocket握手協(xié)議的研究與實(shí)現(xiàn)[J];計(jì)算機(jī)應(yīng)用與軟件;2015年01期
2 袁佳;郭燕慧;;基于rabbitmq的海量日志的分布式處理[J];軟件;2013年07期
3 馬璐;;應(yīng)用消息隊(duì)列應(yīng)對(duì)大并發(fā)訪問(wèn)的解決方案[J];電腦知識(shí)與技術(shù);2013年02期
4 許子燦;吳榮泉;;基于消息傳遞的Paxos算法研究[J];計(jì)算機(jī)工程;2011年21期
5 潘志華;張濤;;Linux預(yù)取算法分析與研究[J];計(jì)算機(jī)技術(shù)與發(fā)展;2009年12期
6 何紅波;陸建德;丁衛(wèi)平;;基于中間件MQSeries的消息隊(duì)列異步通信服務(wù)的應(yīng)用研究[J];南通大學(xué)學(xué)報(bào)(自然科學(xué)版);2006年04期
7 周南潤(rùn);曾貴華;朱甫臣;劉三秋;;兩軍問(wèn)題的量子同步通信協(xié)議[J];上海交通大學(xué)學(xué)報(bào);2006年11期
8 包懷忠;EXT2文件系統(tǒng)分析[J];計(jì)算機(jī)工程與設(shè)計(jì);2005年04期
9 魏薇,孫世新;XFS日志文件系統(tǒng)的關(guān)鍵技術(shù)研究[J];電腦開(kāi)發(fā)與應(yīng)用;2005年03期
10 徐健,王濤;HTTP/1.1的分析[J];西南師范大學(xué)學(xué)報(bào)(自然科學(xué)版);2004年02期
本文編號(hào):
2826585
本文鏈接:http://www.sikaile.net/kejilunwen/ruanjiangongchenglunwen/2826585.html