您好,登錄后才能下訂單哦!
TTL隊(duì)列及消息介紹
本文是《RabbitMQ精講系列》中第十六篇:RabbitMQ消息中間件技術(shù)精講16 高級(jí)篇九 TTL隊(duì)列及消息。如果想學(xué)習(xí)RabbitMQ的朋友建議從第一篇開始看起。
TTL:
????TTL是Time To Live的縮寫,也就是生存時(shí)間。也就是說RabbitMQ支持消息的過期時(shí)間,在消息發(fā)送的時(shí)候可以對(duì)過期時(shí)間進(jìn)行指定;
同時(shí)RabbitMQ支持隊(duì)列的過期時(shí)間,從消息入隊(duì)列開始計(jì)算,超過了隊(duì)列的超時(shí)時(shí)間配置,那么消息就會(huì)自動(dòng)清除。
今天這篇文章,咱們就不用寫代碼演示。使用頁面的方式進(jìn)行配置發(fā)送消息。
登陸到頁面管控臺(tái):
先創(chuàng)建一個(gè)隊(duì)列queue.
設(shè)置隊(duì)列名稱為:test002
給arguments設(shè)參數(shù):
x-max-length:最大長度。我們?cè)O(shè)置3000
x-message-ttl:設(shè)置超時(shí)時(shí)長。我們?cè)O(shè)置10000毫秒,也就是10秒。
具體如下圖:
設(shè)置完成之后,我們點(diǎn)擊Add.之后,在queues的列表中就可以看到,我們創(chuàng)建的test002隊(duì)列。如下圖:
接下來,我們創(chuàng)建交換機(jī)exchange:
設(shè)置name為:test002_texchange
設(shè)置類型type為:topic
設(shè)置Durability為durable.持久化
如下圖:
設(shè)置完成之后,點(diǎn)擊保存。我們可以在exchanges的列表中看到剛才創(chuàng)建的test002_exchange的交換機(jī)。如下圖:
接著我們綁定交換機(jī)和隊(duì)列的關(guān)系。
點(diǎn)擊我們創(chuàng)建的隊(duì)列,添加綁定
選擇To queue值為我們上一步創(chuàng)建的隊(duì)列名稱:test002
設(shè)置routing key為ttl.#.
如下圖:
點(diǎn)擊bind之后,我們就可以看到綁定關(guān)系了。如下圖:
接著我們來發(fā)送消息。
點(diǎn)擊test002-exchange,我們可以看到Publish message.就可以在頁面發(fā)送消息了。
我們進(jìn)行設(shè)置:
可以看到在properties這個(gè)屬性中,我們需要的都有的。
設(shè)置Routing key:ttl.abcd
設(shè)置Delivery mode:2-persistent。持久化
然后設(shè)置消息,Payload。
設(shè)置完成如下圖:
點(diǎn)擊publish message后:
發(fā)送成功。
我們看看隊(duì)列:test002中已經(jīng)有一條消息了。如下圖:
我們等待10秒,發(fā)現(xiàn)消息自動(dòng)消失了。如下:
下節(jié)我們講解:死信隊(duì)列
凱哥公眾號(hào):凱哥Java(kaigejava)
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。