File: get_started.rst

package info (click to toggle)
zaqar 21.0.0-2
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 3,964 kB
  • sloc: python: 28,819; sh: 513; java: 135; makefile: 63; javascript: 50
file content (65 lines) | stat: -rw-r--r-- 2,673 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
==========================
Messaging service overview
==========================

The Message service is multi-tenant, fast, reliable, and scalable. It allows
developers to share data between distributed application components performing
different tasks, without losing messages or requiring each component to be
always available.

The service features a RESTful API and a Websocket API, which developers can
use to send messages between various components of their SaaS and mobile
applications, by using a variety of communication patterns.

Key features
~~~~~~~~~~~~

The Messaging service provides the following key features:

* Choice between two communication transports. Both with Identity service
  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, its firewall-friendly nature, and its 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 Identity service IDs.
* Support for several common patterns including event broadcasting, task
  distribution, and point-to-point messaging.
* Component-based architecture with support for custom back ends and message
  filters.
* Efficient reference implementation with an eye toward low latency and high
  throughput (dependent on back end).
* Highly-available and horizontally scalable.
* Support for subscriptions to queues. Several notification types are
  available:

  * Email notifications
  * Webhook notifications
  * Websocket notifications

Layers of the Messaging service
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The Messaging service has following layers:

* The transport layer (Messaging application) which can provide these APIs:

  * HTTP RESTful API (via ``wsgi`` driver).
  * Websocket API (via ``websocket`` driver).

* The storage layer which keeps all the data and metadata about queues and
  messages. It has two sub-layers:

  * The management store database (Catalog). Can be ``MongoDB`` database (or
    ``MongoDB`` replica-set) or SQL database.
  * The message store databases (Pools). Can be ``MongoDB`` database (or
    ``MongoDB`` replica-set) or ``Redis`` database.