Description of AMQP 1.0 Advanced Message Queuing Protocol




1 description of amqp 1.0

1.1 type system
1.2 performatives , link protocol
1.3 message format
1.4 messaging capabilities





description of amqp 1.0
type system

amqp defines self-describing encoding scheme allowing interoperable representation of wide range of commonly used types. allows typed data annotated additional meaning, example particular string value might annotated understood url. likewise map value containing key-value pairs name , address etc., might annotated being representation of customer type.


the type-system used define message format allowing standard , extended meta-data expressed , understood processing entities. used define communication primitives through messages exchanged between such entities, i.e. amqp frame bodies.


performatives , link protocol

the basic unit of data in amqp frame. there 9 amqp frame bodies defined used initiate, control , tear down transfer of messages between 2 peers. these are:



open
begin
attach
transfer
flow
disposition
detach
end
close

the link protocol @ heart of amqp.


an attach frame body sent initiate new link; detach tear down link. links may established in order receive or send messages.


messages sent on established link using transfer frame. messages on link flow in 1 direction.


transfers subject credit based flow control scheme, managed using flow frames. allows process protect being overwhelmed large volume of messages or more allow subscribing link pull messages , when desired.


each transferred message must settled. settlement ensures sender , receiver agree on state of transfer, providing reliability guarantees. changes in state , settlement transfer (or set of transfers) communicated between peers using disposition frame. various reliability guarantees can enforced way: at-most-once, at-least-once , exactly-once.


multiple links, in both directions, can grouped in session. session bidirectional, sequential conversation between 2 peers initiated begin frame , terminated end frame. connection between 2 peers can have multiple sessions multiplexed on it, each logically independent. connections initiated open frame in sending peer s capabilities expressed, , terminated close frame.


message format

amqp defines bare message, part of message created sending application. considered immutable message transferred between 1 or more processes.


ensuring message sent application immutable allows end-to-end message signing and/or encryption , ensures integrity checks (e.g. hashes or digests) remain valid. message can annotated intermediaries during transit, such annotations kept distinct immutable bare message. annotations may added before or after bare message.


the header standard set of delivery-related annotations can requested or indicated message , includes time live, durability, priority.


the bare message structured optional list of standard properties (message id, user id, creation time, reply to, subject, correlation id, group id etc.), optional list of application-specific properties (i.e., extended properties) , body, amqp refers application data.


properties specified in amqp type system, annotations. application data can of form, , in encoding application chooses. 1 option use amqp type system send structured, self-describing data.


messaging capabilities

the link protocol transfers messages between 2 nodes assumes little nodes or how implemented.


a key category nodes used rendezvous point between senders , receivers of messages (e.g. queues or topics). amqp specification calls such nodes distribution nodes , codifies common behaviors.


this includes:



some standard outcomes transfers, through receivers of messages can example accept or reject messages
a mechanism indicating or requesting 1 of 2 basic distribution patterns, competing- , non-competing- consumers, through distribution modes move , copy respectively
the ability create nodes on-demand, e.g. temporary response queues
the ability refine set of message of interest receiver through filters

though amqp can used in simple peer-to-peer systems, defining framework messaging capabilities additionally enables interoperability messaging intermediaries (brokers, bridges etc.)


in larger, richer messaging networks. framework specified covers basic behaviors allows extensions evolve can further codified , standardised.








Comments

Popular posts from this blog

In literature Socialist realism in Romania

Flipnote creation Flipnote Studio 3D

How CURP codes are built Unique Population Registry Code