zaqar/doc/source/index.rst
whoami-rajat 37fc134d11 Add zaqar-status upgrade check command framework
This adds basic framework for zaqar-status upgrade
check commands. For now it has only "check_placeholder"
check implemented.
Real checks can be added to this tool in the future.

Change-Id: I855b4b72284df308c3bb250fd3a3f0fc643b4abf
Story: 2003657
Task: 26165
2018-12-12 06:08:06 +00:00

3.8 KiB

Welcome to the Zaqar's Documentation!

Zaqar is a multi-tenant cloud messaging and notification service for web and mobile developers.

The service features a REST API, which developers can use to send messages between various components of their SaaS and mobile applications, by using a variety of communication patterns. Underlying this API is an efficient messaging engine designed with scalability and security in mind. The Websocket API is also available.

Other OpenStack components can integrate with Zaqar to surface events to end users and to communicate with guest agents that run in the "over-cloud" layer.

Key features

Zaqar provides the following key features:

  • Choice between two communication transports. Both with Keystone support:
    • Firewall-friendly, HTTP-based RESTful API. Many of today's developers prefer a more web-friendly HTTP API. They value the simplicity and transparency of the protocol, it's firewall-friendly nature, and it's huge ecosystem of tools, load balancers and proxies. In addition, cloud operators appreciate the scalability aspects of the REST architectural style.
    • Websocket-based API for persistent connections. Websocket protocol provides communication over persistent connections. Unlike HTTP, where new connections are opened for each request/response pair, Websocket can transfer multiple requests/responses over single TCP connection. It saves much network traffic and minimizes delays.
  • Multi-tenant queues based on Keystone project IDs.
  • Support for several common patterns including event broadcasting, task distribution, and point-to-point messaging.
  • Component-based architecture with support for custom backends and message filters.
  • Efficient reference implementation with an eye toward low latency and high throughput (dependent on backend).
  • Highly-available and horizontally scalable.
  • Support for subscriptions to queues. Several notification types are available:
    • Email notifications.
    • Webhook notifications.
    • Websocket notifications.

Project scope

The Zaqar API is data-oriented. That is, it does not provision message brokers and expose those directly to clients. Instead, the API acts as a bridge between the client and one or more backends. A provisioning service for message brokers, however useful, serves a somewhat different market from what Zaqar is targeting today. With that in mind, if users are interested in a broker provisioning service, the community should consider starting a new project to address that need.

Design principles

Zaqar, as with all OpenStack projects, is designed with the following guidelines in mind:

  • Component-based architecture. Quickly add new behaviors
  • Highly available and scalable. Scale to very serious workloads
  • Fault tolerant. Isolated processes avoid cascading failures
  • Recoverable. Failures should be easy to diagnose, debug, and rectify
  • Open standards. Be a reference implementation for a community-driven

Contents

user/index admin/index install/index configuration/index contributor/index cli/index

glossary