HTTPSQS:基於 HTTP協議的輕量級開源簡單訊息佇列服務

FeelTouch發表於2018-11-13

HTTPSQS(HTTP Simple Queue Service)是一款基於 HTTP GET/POST 協議的輕量級開源簡單訊息佇列服務,使用 Tokyo Cabinet 的 B+Tree Key/Value 資料庫來做資料的持久化儲存。

  專案網址:http://code.google.com/p/httpsqs/
  使用文件:http://blog.zyan.cc/httpsqs/
  使用環境:Linux(同時支援32位、64位作業系統,推薦使用64位作業系統)
  軟體作者:張宴

  佇列(Queue)又稱先進先出表(First In First Out),即先進入佇列的元素,先從佇列中取出。加入元素的一頭叫“隊頭”,取出元素的一頭叫“隊尾”。利用訊息佇列可以很好地非同步處理資料傳送和儲存,當你頻繁地向資料庫中插入資料、頻繁地向搜尋引擎提交資料,就可採取訊息佇列來非同步插入。另外,還可以將較慢的處理邏輯、有併發數量限制的處理邏輯,通過訊息佇列放在後臺處理,例如FLV視訊轉換、傳送手機簡訊、傳送電子郵件等。

  HTTPSQS 具有以下特徵:

  ● 非常簡單,基於 HTTP GET/POST 協議。PHP、Java、Perl、Shell、Python、Ruby等支援HTTP協議的程式語言均可呼叫。
  ● 非常快速,入佇列、出佇列速度超過10000次/秒。
  ● 高併發,支援上萬的併發連線,C10K不成問題。
  ● 支援多佇列。
  ● 單個佇列支援的最大佇列數量高達10億條。
  ● 低記憶體消耗,海量資料儲存,儲存幾十GB的資料只需不到100MB的實體記憶體緩衝區。
  ● 可以在不停止服務的情況下便捷地修改單個佇列的最大佇列數量。
  ● 可以實時檢視佇列狀態(入佇列位置、出佇列位置、未讀佇列數量、最大佇列數量)。
  ● 可以檢視指定佇列ID(佇列點)的內容,包括未出、已出的佇列內容。
  ● 檢視佇列內容時,支援多字符集編碼。
  ● 原始碼不超過800行,適合二次開發。

 

 

HTTPSQS 生產環境典型應用架構


轉自:http://zyan.cc/httpsqs/

相關文章