Jump to: navigation, search

Difference between revisions of "Zaqar/home"

(Contributor Guide: Added TOC)
m (Malini moved page Marconi/home to Zaqar/home: Project Rename)
 
(15 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Messaging Service ("Marconi") =
+
#REDIRECT [[Marconi]]
 
 
Marconi is a cloud messaging and notification service for developers building applications on top of OpenStack. The service features a web-friendly HTTP API, which developers can use to send messages between the various components of their SaaS and mobile applications, using a variety of communication patterns. Underlying the API is an efficient messaging engine designed with scalability and security in mind.
 
 
 
== Design ==
 
 
 
Donald A. Norman:
 
 
 
<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>
 
 
 
At first glance, Marconi's RESTful API may seem a bit out of the ordinary. Message brokers typically rely on a custom binary protocol and often assume a reliable, 1st-party network between server and client. However, many of today's developers prefer an HTTP-based API. They value the simplicity and transparency of the protocol, its firewall-friendly nature, and its huge ecosystem of tools, load balancers and proxies.
 
 
 
Marconi caters to developers looking for this type of experience.
 
 
 
Marconi's API provides a basic set of semantics that, when combined, afford a variety of messaging patterns, such as pub-sub, task distribution, and point-to-point. Messages can be consumed as feeds, queues, or a combination of the two. This can be a little confusing at first, since the API uses the term "queues" to represent a hybrid feeds-queues resource.
 
 
 
When interacting with the API, a client can choose to read a queue in a similar manner to an Atom feed, where any client can read any message, and is responsible for keeping track of its own marker (its position in the feed). This provides for messaging patterns such as pub-sub and point-to-point.
 
 
 
Alternatively, an application can implement task distribution by creating a pool of workers that simply claim messages off the front of the queue. Once a message is claimed, it becomes invisible to other workers in the pool to prevent messages from being processed more than once.
 
 
 
Finally, a client can use both feed and claim semantics simultaneously to create hybrid messaging patterns. For example, while workers are busy claiming messages from a task queue, an auditor can passively sample those same messages as they flow by.
 
 
 
== Resources ==
 
 
 
The Marconi team hangs out in #openstack-marconi on Freenode, and we are always happy to hear your ideas and answer any questions you might have. If you run into a bug, please  report it using our [https://bugs.launchpad.net/marconi issue tracker].
 
 
 
==== Releases ====
 
 
 
<!-- TODO(kgriffs): Add release notes -->
 
* 2014.1 ([http://tarballs.openstack.org/marconi/marconi-2014.1.tar.gz download] | [[Marconi/releases/icehouse|notes]])
 
 
 
==== Docs ====
 
 
 
* [http://docs.openstack.org/developer/marconi/ User & Operator Guides]
 
* [[Marconi/specs/api/v1|API v1.0 Specification]]
 
 
 
==== Talks ====
 
 
 
* Alejandro Cabrera. Rackspace Atlanta. Introducing Openstack Marconi. July 17, 2013. [http://www.youtube.com/watch?v=b-IWDG7kKGQ Youtube] [https://speakerdeck.com/cabrera/introducing-openstack-marconi Speaker Deck]
 
* Flavio Percoco. EuroPython 2013. Marconi: Queuing and Notification Service for Openstack. July 2, 2013. [http://www.youtube.com/watch?v=iNOd7-_TdDo YouTube]
 
* Kurt Griffiths, Allan Metts. Openstack Summit April 2013. Project Overview: OpenStack Queuing and Notification Service ("Marconi""). April 2013. [http://www.youtube.com/watch?feature=player_embedded&v=henTTZWtt2k YouTube]
 
* Kurt Griffiths, Flavio Percoco, Allan Metts. Openstack Summit November 2013. Openstack Queuing and Notification Service Marconi. November 2013. [http://www.youtube.com/watch?v=IgE3Jskqtek YouTube]
 
 
 
==== Articles ====
 
 
 
* Oz Akan. Rackspace Devops Blog. July 25, 2013. [http://developer.rackspace.com/blog/openstack-marconi-api.html Openstack Marconi API].
 
* Flavio Percoco. Developer's Black Hole. March 2014. [http://blog.flaper87.com/post/531cd585d987d24e83f082a5 People don't like to queue up].
 
 
 
== Contributor Guide ==
 
 
 
==== Getting Started ====
 
 
 
* [[Marconi/docs/contrib/intro|Introduction]]
 
* [[Marconi/docs/contrib/tutorials/patch|Your First Patch]]
 
* [[Marconi/docs/contrib/tutorials/review|Your First Review]]
 
* [[Marconi/docs/contrib/tutorials/wtt|Write the Tests!]]
 
* [[Marconi/docs/contrib/tutorials/wtd|Write the Docs!]]
 
<!-- TODO(kgriffs): screencasts -->
 
 
 
==== API Specs ====
 
 
 
* [[Marconi/specs/api/v1|API v1.0]] ('''released''')
 
* [[Marconi/specs/api/v1.1|API v1.1]]
 
* [[Marconi/specs/api/v2.0|API v2.0]]
 
 
 
==== Design ====
 
 
 
* [[Marconi/docs/design/server|Server Architecture]]
 
* [[Marconi/docs/design/client|Client Library]]
 
 
 
==== Quality Engineering ====
 
 
 
* [[Marconi/docs/quality/security|Application Security]]
 
* [[Marconi/docs/quality/performance|Performance]]
 
* [[Marconi/docs/quality/functional|Functional Tests]]
 
* [[Marconi/docs/quality/integration|Integration Tests]]
 
 
 
==== Resources ====
 
 
 
* [[Marconi/docs/about|About the Program]]
 
* [[Marconi/docs/incubation|Incubation Status]]
 
* [[Marconi/docs/contrib/style|Programming Style Guide]]
 
* [[Marconi/docs/contrib/process|Development Process]]
 
* [[Marconi/docs/contrib/faq|Frequently Asked Questions]]
 
* [[Marconi/docs/contrib/help|Getting Help]]
 
 
 
==== Community ====
 
 
 
* [https://webchat.freenode.net/?channels=openstack-marconi #openstack-marconi] (IRC)
 
* [[Marconi/roadmap|Roadmap]]
 
* [[Meetings/Marconi|Meetings]]
 
* [https://launchpad.net/marconi/+milestones Milestones]
 
* [https://blueprints.launchpad.net/marconi Blueprints]
 
* [https://bugs.launchpad.net/marconi Bugs]
 
* [https://github.com/openstack/marconi Server Code]
 
* [https://github.com/openstack/python-marconiclient Client Code]
 

Latest revision as of 18:42, 7 August 2014

Redirect to: