Beanstalkd是一個高效能的訊息佇列中介軟體,本博文宅鳥將介紹一下這個東東的使用。
一、先透過概念讓大家瞭解Beanstalkd的特性和工作場景。
Beanstalkd是一個輕量級訊息中介軟體,它最大特點是將自己定位為基於管道(tube)和任務(job)的工作佇列(work-queue):
Beanstalkd支援任務優先順序(priority),延時(delay),超時重發(time-to-run)和預留(buried),能夠很好的支援分散式的後臺任務和定時任務處理。
它的內部實現採用libevent,伺服器-客戶端之間用類似memcached的輕量級通訊協議,具有有很高的效能。
儘管是記憶體佇列,beanstalkd提供了binlog機制,當重啟beanstalkd時,當前任務狀態能夠從紀錄的本地binlog中恢復。
管道(tube):
管道類似於訊息主題(topic),在一個Beanstalkd中可以支援多個管道,每個管道都有自己的釋出者(producer)和消費者(consumer).管道之間互相不影響。
Beanstalkd是一個高效能的訊息佇列中介軟體,本博文宅鳥將介紹一下這個東東的使用。
一、先透過概念讓大家瞭解Beanstalkd的特性和工作場景。
Beanstalkd是一個輕量級訊息中介軟體,它最大特點是將自己定位為基於管道(tube)和任務(job)的工作佇列(work-queue):
Beanstalkd支援任務優先順序(priority),延時(delay),超時重發(time-to-run)和預留(buried),能夠很好的支援分散式的後臺任務和定時任務處理。
它的內部實現採用libevent,伺服器-客戶端之間用類似memcached的輕量級通訊協議,具有有很高的效能。
儘管是記憶體佇列,beanstalkd提供了binlog機制,當重啟beanstalkd時,當前任務狀態能夠從紀錄的本地binlog中恢復。
管道(tube):
管道類似於訊息主題(topic),在一個Beanstalkd中可以支援多個管道,每個管道都有自己的釋出者(producer)和消費者(consumer).管道之間互相不影響。