Beanstalkd訊息/任務佇列的詳解

藏色散人
發布: 2023-04-06 13:04:02
轉載
3311 人瀏覽過

Beanstalkd訊息/任務佇列的詳解

Beanstalkd是什麼?

Beanstalkd是一個高效能、輕量級的分散式記憶體佇列系統

#基本概念

##job:需要非同步處理的任務(或訊息),是Beanstalkd中的基本單元

tube :管道(或訊息佇列),用來儲存相同類型的job,是producer和consumer操作的物件

#producer: job的生產者,透過put指令來將一個job放到一個tube中

consumer: job的消費者,透過reserve/release/bury/delete指令來取得job或改變job的狀態

job狀態

delayed: 延遲狀態

#ready: 待消費者讀取狀態

reserved: 消費者處理中狀態

buried: 預留狀態

delete: 處理完成刪除狀態

#特性

priority:優先權,支援0到2^ 32的優先級,值越小,優先級越高,預設優先級為1024

delay: 延遲,延遲消費,用來實現定時任務

持久:透過binlog將job及其狀態記錄到檔案裡面,在Beanstalkd重啟或掛掉後,透過讀取binlog來恢復之前的job及狀態

TTR:超時控制,put一個job時,可以設定超時時間,如果consumer不能在TTR時間內處理完成,job將會被置為ready狀態,供其他consumer繼續執行。

以上是Beanstalkd訊息/任務佇列的詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:jmsite.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板