Jump to: navigation, search

Difference between revisions of "Zaqar/specs/endpoint"

m (fix: healt -> health)
(Marconi Endpoints)
Line 2: Line 2:
 
= Marconi Endpoints =
 
= Marconi Endpoints =
  
Endpoints represent a communication layer between Marconi and external clients. They exist in order to support multiple transports like HTTP, ZMQ, etc; they are not exclusive and can be enabled directly from the config file.
+
Endpoints define the protocol between a given transport and the storage driver. In this way, multiple transports like HTTP and ZMQ can be supported; they are not exclusive and can be enabled directly from the config file.
  
Each endpoint defines its own API that is common in terms of methods but different in terms of implementation and inherits from an abstract endpoint class that defines methods that should be call by endpoints after translating requests to something useful for Marconi.
+
Related endpoints are grouped into one of several controllers, who's interface is defined by an abstract base class. The storage driver provides a concrete implementation for each controller type.
  
 
For specific implementations read: [http://wiki.openstack.org/marconi/specs/api/v1 HTTP], [http://wiki.openstack.org/marconi/specs/zmq/api/v1 ZMQ]
 
For specific implementations read: [http://wiki.openstack.org/marconi/specs/api/v1 HTTP], [http://wiki.openstack.org/marconi/specs/zmq/api/v1 ZMQ]
  
== Common Methods ==
+
== Common Endpoints, exposed by Storage Drivers ==
  
=== Queues ===
+
Storage drivers export 3 controllers which group endpoints by resource.
 +
 
 +
=== QueuesController ===
  
 
* Create Queue (create_queue)
 
* Create Queue (create_queue)
* Update Queue (update_queue)
+
* Set queue metadata (set_queue_meta)
 +
* Get queue metadata (get_queue_meta)
 
* Delete Queue (delete_queue)
 
* Delete Queue (delete_queue)
 +
* Get queue status (get_queue_status)
  
=== Messages ===
+
=== MessagesController ===
  
* Count Message (count_message)
 
 
* Get Message (get_message)
 
* Get Message (get_message)
 
* Get Messages (get_messages)
 
* Get Messages (get_messages)
* Get Action Messages (get_action_messages)
+
* Get Action Messages (get_actions)
 +
* Post Message(s) (post_messages)
 +
* Delete Message (delete_message)
 +
 
 +
=== ClaimsController ===
  
* Post Message (post_message)
 
 
* Claim Message (claim_message)
 
* Claim Message (claim_message)
* Renew Message Claim (renew_claim_message)
+
* Query claim (query_claim)
* Delete Message (delete_message)
+
* Update claim (update_claim)
 +
* Release Claim (release_claim)
 +
 
 +
== Transport-Specific ==
 +
 
 +
The following endpoints only apply to specific transports.
  
=== Management ===
+
=== WSGI ===
  
* Health (get_health)
+
* Node health (test_reachable)
 +
* Get home document

Revision as of 19:08, 25 February 2013

Marconi Endpoints

Endpoints define the protocol between a given transport and the storage driver. In this way, multiple transports like HTTP and ZMQ can be supported; they are not exclusive and can be enabled directly from the config file.

Related endpoints are grouped into one of several controllers, who's interface is defined by an abstract base class. The storage driver provides a concrete implementation for each controller type.

For specific implementations read: HTTP, ZMQ

Common Endpoints, exposed by Storage Drivers

Storage drivers export 3 controllers which group endpoints by resource.

QueuesController

  • Create Queue (create_queue)
  • Set queue metadata (set_queue_meta)
  • Get queue metadata (get_queue_meta)
  • Delete Queue (delete_queue)
  • Get queue status (get_queue_status)

MessagesController

  • Get Message (get_message)
  • Get Messages (get_messages)
  • Get Action Messages (get_actions)
  • Post Message(s) (post_messages)
  • Delete Message (delete_message)

ClaimsController

  • Claim Message (claim_message)
  • Query claim (query_claim)
  • Update claim (update_claim)
  • Release Claim (release_claim)

Transport-Specific

The following endpoints only apply to specific transports.

WSGI

  • Node health (test_reachable)
  • Get home document