這篇文章帶給大家的內容是關於在什麼情況下使用隊列,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
佇列最主要的用途是非同步任務和通訊兩個面向
非同步的想法主要用來緩解瞬間壓力、耗時操作、並行任務等
1. 緩解瞬間壓力:若係統每秒處理能力是100請求,而最高峰值可能達到每秒1000請求,若不採用佇列,很有可能會出現服務不可用或長時間等待。此時可以用佇列將未能成功執行的請求放入佇列,依序執行,直到所有請求都被處理
2. 耗時操作:縮圖產生
3. 並行任務:貼上後通知所有的好友
通訊的思路主要用來解決在不同的獨立模組或系統之間相互同步資料、通知執行某些操作
耗時的操作,且業務需求允許的情況下,都可以放到非同步佇列中,例如
1.發微博,把微博推送到你的好友收件匣(假定採用的是推的方式),類似的還有feed
2.上傳圖片要產生不同尺寸的縮圖
3.發文的同時,利用百度知道api同步一份到百度知道
4.群發郵件
以上是你知道在什麼情況下使用隊列嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!