HTTPSQS簡單消息隊列服務
HTTPSQS(HTTP Simple Queue Service)是一款基于 HTTP GET/POST 協(xié)議的輕量級開源簡單消息隊列服務,使用 Tokyo Cabinet 的 B+Tree Key/Value 數(shù)據(jù)庫來做數(shù)據(jù)的持久化存儲。
隊列(Queue)又稱先進先出表(First In First Out),即先進入隊列的元素,先從隊列中取出。加入元素的一頭叫“隊頭”,取出元素的一頭叫“隊尾”。利用消息隊列可以很好地異步處理數(shù)據(jù)傳送和存儲,當你頻繁地向數(shù)據(jù)庫中插入數(shù)據(jù)、頻繁地向搜索引擎提交數(shù)據(jù),就可采取消息隊列來異步插入。另外,還可以將較慢的處理邏輯、有并發(fā)數(shù)量限制的處理邏輯,通過消息隊列放在后臺處理,例如FLV視頻轉換、發(fā)送手機短信、發(fā)送電子郵件等。
1、HTTPSQS 具有以下特征:
● 非常簡單,基于 HTTP GET/POST 協(xié)議。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP協(xié)議的編程語言均可調(diào)用。
● 非??焖伲腙犃?、出隊列速度超過10000次/秒。
● 高并發(fā),支持上萬的并發(fā)連接,C10K不成問題。
● 支持多隊列。
● 單個隊列支持的最大隊列數(shù)量高達10億條。
● 低內(nèi)存消耗,海量數(shù)據(jù)存儲,存儲幾十GB的數(shù)據(jù)只需不到100MB的物理內(nèi)存緩沖區(qū)。
● 可以在不停止服務的情況下便捷地修改單個隊列的最大隊列數(shù)量。
● 可以實時查看隊列狀態(tài)(入隊列位置、出隊列位置、未讀隊列數(shù)量、最大隊列數(shù)量)。
● 可以查看指定隊列ID(隊列點)的內(nèi)容,包括未出、已出的隊列內(nèi)容。
● 查看隊列內(nèi)容時,支持多字符集編碼。
● 源代碼不超過700行,適合二次開發(fā)。
