Jump to: navigation, search

Difference between revisions of "Zaqar"

(Resources)
(Added missing links)
Line 6: Line 6:
 
== Design ==
 
== Design ==
  
Marconi aims to be pragmatic, building upon the real-world experiences of teams who have solid track records running and supporting web-scale message queueing systems. The project's overarching design philosophy is derived from Donald A. Norman's work regarding ''The Design of Everyday Things'':
+
Marconi aims to be pragmatic, building upon the real-world experiences of teams who have solid track records running and supporting web-scale message queueing systems. The project's overarching design philosophy is derived from Donald A. Norman:
  
  The value of a well-designed object is when it has such a rich set of affordances that the people who use it can do things with it that the designer never imagined.
+
<blockquote>The value of a well-designed object is when it has such a rich set of affordances that the people who use it can do things with it that the designer never imagined.</blockquote>
  
 
Goals related to the above:
 
Goals related to the above:
Line 47: Line 47:
 
|-
 
|-
 
|  IRC  
 
|  IRC  
|  
+
| #openstack-marconi
 
|-
 
|-
 
|  Grizzly Spec   
 
|  Grizzly Spec   
Line 60: Line 60:
 
|-
 
|-
 
|  Milestones   
 
|  Milestones   
|
+
| https://launchpad.net/marconi/+milestones
 
|-
 
|-
 
|  Developer Docs   
 
|  Developer Docs   
Line 69: Line 69:
 
|-
 
|-
 
|  Bug tracker   
 
|  Bug tracker   
|
+
| https://bugs.launchpad.net/marconi
 
|}
 
|}
  
 
----
 
----
 
[[Category:Homepage]]
 
[[Category:Homepage]]

Revision as of 16:37, 20 February 2013

OpenStack Message Bus ("Marconi")

Marconi is a new OpenStack project to create a multi-tenant cloud queuing service. The project will define a clean, RESTful API, use a modular architecture, and will support both eventing and job-queuing semantics. Users will be able to customize Marconi to achieve a wide range of performance, durability, availability, and efficiency goals.

Design

Marconi aims to be pragmatic, building upon the real-world experiences of teams who have solid track records running and supporting web-scale message queueing systems. The project's overarching design philosophy is derived from Donald A. Norman:

The value of a well-designed object is when it has such a rich set of affordances that the people who use it can do things with it that the designer never imagined.

Goals related to the above:

  1. Emergent functionality, utility
  2. Modular, pluggable code base
  3. REST architectural style

Principles to live by:

  1. DRY
  2. YAGNI
  3. KISS

Use Cases

  1. Distribute tasks among multiple workers (transactional job queues)
  2. Forward events to data collectors (transactional event queues)
  3. Publish events to any number of subscribers (pub-sub)
  4. Send commands to one or more agents (point-to-point or pub-sub)
  5. Request an action or get information from an agent (RPC)

Out of Scope

Marconi may be used as the foundation for other services to support the following use cases, but will not support them directly within its code base.

  1. Forwarding notifications to email, SMS, Twitter, etc.
  2. Forwarding notifications to web hooks
  3. Forwarding notifications to APNS, GCM, etc.
  4. Scheduling-as-a-service
  5. Metering usage

Resources

Meetings #openstack-meeting-alt
IRC #openstack-marconi
Grizzly Spec https://wiki.openstack.org/wiki/Marconi/specs/grizzly
API Blueprint https://wiki.openstack.org/wiki/Marconi/specs/api/v1

https://wiki.openstack.org/wiki/Marconi/specs/zmq/api/v1

Other Blueprints https://wiki.openstack.org/wiki/Marconi/specs/endpoint
Milestones https://launchpad.net/marconi/+milestones
Developer Docs
Source code https://github.com/stackforge/marconi
Bug tracker https://bugs.launchpad.net/marconi