zaqar/doc/source/index.rst
Cindy Pallares 8fc1efaab9 First patch and first review docs
These docs contain information on how to make the first
contributions to Zaqar and how to make the first review
in Gerrit for Zaqar to the developer's manual.

Change-Id: I291ad85d735a3a096a36afa7650a08a37dbb4e89
2014-09-02 22:11:19 -03:00

3.7 KiB

Welcome to the Zaqar developer 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.

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.

Note

This documentation is generated by the Sphinx toolkit and lives in the Zaqar project source tree. Additional draft and project documentation regarding Zaqar and other components of OpenStack can be found on the OpenStack Wiki, as well as in the user guides found on docs.openstack.org.

Key features

Zaqar provides the following key features:

  • HTTP-based messaging API
  • Multi-tenant design 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

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

Concepts

glossary

Setting up a development environment

development-environment

Your first patch and your first review

first_patch first_review

Running and writing tests

running_tests test_suite

Other resources

launchpad gerrit jenkins

Modules reference

transport storage