簡介:消息隊列是個高大上的名詞兒,本質上就是如何業務進行排隊處理,最常的使用場景就是發送短信的時候使用短信隊列。但消息隊列可以做的不止是這一類場景,它在解耦、消峰、異步、一致性等方面都有很大的用武之地。因此如何合理使用消息隊列來處理一些特殊的業務需求,這就是我們這節課要解決的內容。
課程所需庫文件:http://pan.baidu.com/s/1bQg038
第2章 解耦案例:隊列處理訂單系統和配送系統
講解消息隊列用于解耦的案例,使用mysql的一個表,做為隊列存儲,來實現成中間件來解耦訂單系統和配送系統。使用訂單系統實時寫入,并用定時任務啟動配送系統的處理程序,對隊列進行處理并標記結果,使兩個業務系統相互獨立,以便分離部署,防止某一系統故障引起的連鎖故障。
第3章 流量削峰案例:Redis的List類型實現秒殺
講解一個秒殺時間點高流量的消峰的案例,使用Redis的List類型來做隊列存儲,并利用Redis的高速度,對秒殺時的大量流量進行處理,然后使用處理程序將緩存的結果放置到數據庫中。利用內存數據庫緩存機制將巨大的流量擋在了數據庫之前,有效減少了對服務器I/O的負荷。
第4章 RabbitMQ:更專業的消息系統實現方案
以RabbitMQ為例講解了一些專業消息系統的原理,并使用官方的DEMO,演示其中的一個模塊的使用方法。了解這類消息系統使用的步驟和應用場景。