久久亚洲精品国产精品_羞羞漫画在线版免费阅读网页漫画_国产精品久久久久久久久久久久_午夜dj免费观看在线视频_希崎杰西卡番号

setproperty(setproperty怎么讀)

前沿拓展:

setproperty

jsp:setProperty用來設(shè)置已經(jīng)實例化的Bean對象的屬性;

name屬性:表示要設(shè)置屬性的是哪個Bea

除了實時消息,QMQ還支持任意時間的延時消息,當(dāng)時在開源版本的RocektMQ里提供了多種固定延遲level的延時消息支持,也就是可以發(fā)送幾種固定延時時間的延時消息,比如延時10s, 30s…,但是基于我們現(xiàn)有的業(yè)務(wù)特征,這種不同延時level的延時消息并不能滿足我們的需求,我們需要任意時間延時。在OTA場景中,客人經(jīng)常是預(yù)訂未來某個時刻的酒店或者機票,這個時間是不固定的,我們無法使用幾個固定的延時level來實現(xiàn)這個場景。

我們的延時消息是使用兩層hash wheel timer來實現(xiàn)的。第一層位于磁盤上,每個小時(默認(rèn)一個小時,可配置)為一個刻度,每個刻度會生成一個數(shù)據(jù)日志文件,根據(jù)業(yè)務(wù)特征,我們覺得支持兩年(默認(rèn)兩年,可配置)內(nèi)任意時間延時就夠了,那么最多會生成2 * 366 * 24 = 17568個文件。第二層在內(nèi)存中,當(dāng)消息的投遞時間即將到來的時候,會將這個小時的消息索引 (偏移量,投遞時間等) 從磁盤文件加載到內(nèi)存中的 hash wheel timer上。

setproperty(setproperty怎么讀)

在延時消息里也存在三種 log:

message log,和實時消息里的message log類似,收到消息后append到該 log,append成功后立即返回。

schedule log,按照投遞時間組織,每小時一個。該log是回放message log后根據(jù)延時時間放置對應(yīng)的log上,這是上面描述的兩層hash wheel timer的第一層,位于磁盤上。該log包含完整消息內(nèi)容,所以message log里回放了之前的都可以刪除,可以大大的節(jié)約磁盤空間。

dispatch log,延時消息投遞后寫入,主要用于在應(yīng)用重啟后能確定哪些消息已經(jīng)投遞。

工程地址:https://github.com/qunarcorp/qmq

作者簡介:去哪兒網(wǎng)QMQ團隊隸屬于去哪兒網(wǎng)基礎(chǔ)研發(fā)部 – 基礎(chǔ)架構(gòu)部,主要負(fù)責(zé)開發(fā)和維護QMQ消息中間件,滿足業(yè)務(wù)團隊需求,為業(yè)務(wù)團隊提供良好的消息使用體驗,同時保證系統(tǒng)的平穩(wěn)運行。

負(fù)責(zé)人王克禮:2015年加入去哪兒網(wǎng),資深Java開發(fā)工程師,具備多年企業(yè)中間件的開發(fā)實踐經(jīng)驗,完整參與了QMQ新版本的設(shè)計與實現(xiàn),希望能夠持續(xù)提升QMQ。

【END】

拓展知識:

原創(chuàng)文章,作者:九賢生活小編,如若轉(zhuǎn)載,請注明出處:http://www.cddhlm.com/71504.html