簡單消息隊列服務 Sqs4J
按照張宴的"基于 HTTP GET/POST 協議的輕量級開源簡單消息隊列服務"協議用純java實現.可以達到每秒并發10000個請求.使用Netty做網絡IO,Berkeley DB Key/Value 數據庫來做數據的持久化存儲.
隊 列(Queue)又稱先進先出表(First In First Out),即先進入隊列的元素,先從隊列中取出。加入元素的一頭叫“隊頭”,取出元素的一頭叫“隊尾”。利用消息隊列可以很好地異步處理數據傳送和存儲, 當你頻繁地向數據庫中插入數據、頻繁地向搜索引擎提交數據,就可采取消息隊列來異步插入。另外,還可以將較慢的處理邏輯、有并發數量限制的處理邏輯,通過 消息隊列放在后臺處理,例如FLV視頻轉換、發送手機短信、發送電子郵件等。
HTTPSQS 具有以下特征:
● 非常簡單,基于 HTTP GET/POST 協議。PHP、Java、Perl、Shell、Python、Ruby等支持HTTP協議的編程語言均可調用。
● 非常快速,入隊列、出隊列速度超過10000次/秒。
● 高并發,支持5K以上的并發連接。
● 支持多隊列。
● 單個隊列支持的最大隊列數量高達10億條。
● 低內存消耗,海量數據存儲,存儲幾十GB的數據只需不到100MB的物理內存緩沖區。
● 可以在不停止服務的情況下便捷地修改單個隊列的最大隊列數量。
● 可以實時查看隊列狀態(入隊列位置、出隊列位置、未讀隊列數量、最大隊列數量)。
● 可以查看指定隊列ID(隊列點)的內容,包括未出、已出的隊列內容。
● 查看隊列內容時,支持多字符集編碼。
● 源代碼不超過800行,適合二次開發。
說明可以參見張宴的Blog: http://blog.s135.com/httpsqs/
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!