讀古今文學網 > OpenStack系統架構設計實戰 > 12.1 消息隊列服務(Zaqar) >

12.1 消息隊列服務(Zaqar)

12.1.1 概述

Zaqar作為OpenStack消息隊列服務,為網絡和移動開發者提供基於多租戶的雲端消息隊列服務。值得一提的是,Zaqar是OpenStack首批直接為OpenStack用戶提供的PaaS服務。

圖12-1 OpenStack K版本的項目生態

Zaqar借鑒Amazon的簡單隊列服務(Simple Queue Service,SQS)的思想,並與語義信息結合,實現支持消息廣播的可擴展、安全、高效的消息引擎。開發者通過Zaqar提供的Rest API,可以在SaaS和移動應用的不同組件間發送消息。基於此,OpenStack其他組件可以集成Zaqar,將事件傳遞給終端用戶。雲管理員也可以利用Zaqar,向客戶提供類似的SQS和SNS(Simple Notification Service)服務。

Zaqar提供的關鍵特性包括:

1)提供對防火牆友好,基於HTTP的API。

2)基於Keystone項目ID的多租戶隊列。

3)支持事件廣播、任務分發、點對點消息等多種常見模式。

4)組件式架構,支持自定義後端和消息過濾。

5)低延遲、高吞吐的高效參考實現(當然這取決於所採用的後端)。

6)高可用,水平擴展。

圖12-2為Zaqar項目的社區貢獻情況,可以看到Rackspace貢獻了近一半代碼,而事實上RedHat也後來居上,在最新版本中RedHat貢獻了近3/4代碼。

圖12-2 Zaqar項目的社團貢獻情況

Zaqar可用於中小型企業環境,後續版本也會不斷完善以適用於大規模環境部署。當前Zaqar已在Rackspace中進行應用,一些公司也正在他們的私有雲上部署Zaqar。