C# RabbitMQ延遲隊列功能實戰項目演練

1、需求背景

當用戶在商城上進行下單支付,咱們假設若是8小時沒有進行支付,那麼就後臺自動對該筆交易的狀態修改成訂單關閉取消,同時給用戶發送一份郵件提醒。那麼咱們應用程序如何實現這樣的需求場景呢?在以前的《C# Redis緩存過時實現延遲通知實戰演練》分享課程中阿笨最後總結的時候說過Redis Pub/Sub是一種並不可靠地消息機制,他不會作信息的存儲,只是在線轉發,那麼確定也沒有ack確認機制,另外只有訂閱段監聽時纔會轉發!咱們是否有更好的方式去實現呢?今天給你們分享的比較好的解決方案就是經過RabbitMQ的TTL(time to live)和DLX(Dead-Letter-Exchange)來實現延遲任務。緩存

1.一、本次分享課程適合人羣以下:學習

一、有必定的NET開發基礎並對RabbitMQ技術有必定了解和認識。spa

二、喜歡阿笨的乾貨分享課程的童鞋們。隊列

1.二、一句話總結今天咱們要學習的目標和成果?開發

C#如何經過RabbitMQ如何實現延遲隊列功能。消息隊列

若是您對本次《C#RabbitMQ延遲隊列功能實戰項目演練》分享課程感興趣的話,那麼請跟着阿笨一塊兒學習吧。it

廢話很少說,直接上乾貨,咱們不生產乾貨,咱們只是乾貨的搬運工。io

2、場景介紹

2.一、什麼是延遲隊列?class

2.二、使用RabbitMQ實現延遲任務應用場景後臺

3、思路講解

3.一、實現思路

3.二、實現方案

4、實現步驟

1)、基於隊列方式實現延遲隊列(消息隊列中全部消息的過時TTL同樣)

2)、基於消息方式實現延遲隊列(消息隊列中單個消息的過時TTL不同)

5、課後思考與總結

相關文章
相關標籤/搜索