溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

C# RabbitMQ延遲隊(duì)列功能實(shí)戰(zhàn)項(xiàng)目演練

發(fā)布時間:2020-06-17 14:36:50 來源:網(wǎng)絡(luò) 閱讀:425 作者:阿笨NET 欄目:編程語言

一、需求背景

當(dāng)用戶在商城上進(jìn)行下單支付,我們假設(shè)如果8小時沒有進(jìn)行支付,那么就后臺自動對該筆交易的狀態(tài)修改為訂單關(guān)閉取消,同時給用戶發(fā)送一份郵件提醒。那么我們應(yīng)用程序如何實(shí)現(xiàn)這樣的需求場景呢?在之前的《C# Redis緩存過期實(shí)現(xiàn)延遲通知實(shí)戰(zhàn)演練》分享課程中阿笨最后總結(jié)的時候說過Redis Pub/Sub是一種并不可靠地消息機(jī)制,他不會做信息的存儲,只是在線轉(zhuǎn)發(fā),那么肯定也沒有ack確認(rèn)機(jī)制,另外只有訂閱段監(jiān)聽時才會轉(zhuǎn)發(fā)!我們是否有更好的方式去實(shí)現(xiàn)呢?今天給大家分享的比較好的解決方案就是通過RabbitMQ的TTL(time to live)和DLX(Dead-Letter-Exchange)來實(shí)現(xiàn)延遲任務(wù)。

1.1、本次分享課程適合人群如下:

1、有一定的NET開發(fā)基礎(chǔ)并對RabbitMQ技術(shù)有一定了解和認(rèn)識。

2、喜歡阿笨的干貨分享課程的童鞋們。

1.2、一句話總結(jié)今天我們要學(xué)習(xí)的目標(biāo)和成果?

C#如何通過RabbitMQ如何實(shí)現(xiàn)延遲隊(duì)列功能。

如果您對本次《C#RabbitMQ延遲隊(duì)列功能實(shí)戰(zhàn)項(xiàng)目演練》分享課程感興趣的話,那么請跟著阿笨一起學(xué)習(xí)吧。

廢話不多說,直接上干貨,我們不生產(chǎn)干貨,我們只是干貨的搬運(yùn)工。

二、場景介紹

2.1、什么是延遲隊(duì)列?

2.2、使用RabbitMQ實(shí)現(xiàn)延遲任務(wù)應(yīng)用場景

三、思路講解

3.1、實(shí)現(xiàn)思路

3.2、實(shí)現(xiàn)方案

四、實(shí)現(xiàn)步驟

1)、基于隊(duì)列方式實(shí)現(xiàn)延遲隊(duì)列(消息隊(duì)列中所有消息的過期TTL一樣)

2)、基于消息方式實(shí)現(xiàn)延遲隊(duì)列(消息隊(duì)列中單個消息的過期TTL不一樣)

五、課后思考與總結(jié)

【網(wǎng)易云課堂】:點(diǎn)擊在線觀看

【騰訊課堂】:點(diǎn)擊在線觀看

【微信公眾號】:跟著阿笨一起玩NET



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI