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。