際際滷

際際滷Share a Scribd company logo
Cisco Systems
Credit Suisse
Deutsche B旦rse Systems
Envoy Technologies
Goldman Sachs
iMatix
IONA (a Progress company)
JPMorgan Chase
Microsoft
Novell
Rabbit Technologies
Red Hat
Solace Systems
Tervela
TWIST
WSO2
29West
AMQP 1.0 Public Review
San Diego, April 2009
By members of the AMQP Working Group
Internet Protocol for Business Messaging
Page 2 www.amqp.org
Agenda
Time Activity Who
Welcome John Orcutt (Director OOI
Cyberinfrastructure)
1:15 Introduction to AMQP
Motivations and real world use cases AMQP John O'Hara (JPMorgan)
User SIG findings Mark Blair (Credit Suisse)
Overview of the MOM capability
2:15 Refreshment Break
2:30 AMQP in detail
Detail of the peer-to-peer model Rafi Schloming (RedHat)
Detail of the organisation-to-organisation model Robert Godfrey (JPMorgan)
Security Roadmap
Management Roadmap
4:45 Refreshment Break
5:00 Break Out Interactive Sessions Facilitator:
Tell us what you think, ask the unaskable! Matthew Arrott
5:30 AMQP in Action
Implementers present real customer stories
iMatix, Rabbit MQ, Red Hat
Page 3 www.amqp.org
Whats Happening Today?
 Launching AMQP1.0 Public Review
 Present the outcome of 4 years evolution and experience
 Invite input from the outside world
 Refine & Correct, but not Redefine
 Check that we are not wearing the Emperors New Clothes 
 AMQP 1.0 will only be advanced to Final when there are multiple
implementations of the Committee Draft that play nicely together
 Academic Setting
 NOT a commercial dog and pony show (mostly!)
 We come to the public with humility seeking input and validation
 A Short Time to cover a Lot
 Ask questions as we go along, bit issues may be parked
 Feedback session to capture feedback at 5pm
 Working Group Members should save issues for the private sessions
Page 4 www.amqp.org
AMQP Motivation
Page 5 www.amqp.org
AMQP was born of frustration
MOM needs to be everywhere to be useful
 dominant solutions are proprietary
 too expensive for everyday use (Cloud-scale)
 they dont interoperate
 has resulted in lots of ad-hoc home-brew
 how hard can middleware be?
Middleware Hell
 100s of applications
 10,000s of links
 every connection different
 massive waste of effort
The Internets missing standard
 Why has no one done this before?
Page 6 www.amqp.org
The AMQP Working Group
Set up by JPMorgan in 2006
 Goal to make Message Oriented Middleware pervasive
 Make it practical, useful, interoperable
 Bring together users and vendors to solve the problem
We say AMQP is an Internet Protocol for Business Messaging so
end users feel a connection to the technology.
 AMQP aspires to define MOM
Page 7 www.amqp.org
AMQP Vision
AMQP Message Bus
Enterprise
Branch Offices
AMQP Aware
Infrastructure
Business
Partners
treasury@fundmanager.com
orders@supplier.com
AMQP
Global
Addressing
Internet
AMQP Aware Clients
Devices & workstations
AMQP Aware Services
C/C++, Java JMS,
Microsoft WCF
and Business Applications
Page 8 www.amqp.org
Ubiquitous => Unencumbered
AMQP Intellectual Property Policy
 Unambiguous Right to Implement
 The Authors each hereby grants to you a worldwide, perpetual, royalty-
free, non-transferable, nonexclusive license to (i) copy, display, distribute
and implement the Advanced Messaging Queue Protocol ("AMQP")
Specification and (ii) the Licensed Claims that are held by the Authors, all for
the purpose of implementing the Advanced Messaging Queue Protocol
Specification.
 "Licensed Claims" means those claims of a patent or patent application,
throughout the world, excluding design patents and design registrations,
owned or controlled, or that can be sublicensed without fee and in compliance
with the requirements of this Agreement, by an Author or its affiliates now or
at any future time and which would necessarily be infringed by
implementation of the Advanced Messaging Queue Protocol Specification.
 The License is attached to the AMQP Specification itself
 You get the rights when you download it!
Page 9 www.amqp.org
AMQP Working Group  Strong Governance
Credit-Suisse, JPMorgan,
Deutsche Borse Systems,
Goldman Sachs, TWIST, 29West,
Envoy, Novell, Tervela,
WSO2,..
iMatix Apache
Red Hat
iMatix
OpenAMQ
Cisco
Protocol Products
Red Hat MRG Cisco AON
AMQP Working Group
controls the standard Diverse products implement the standard
Community
Feedback
Rabbit
Rabbit MQ
Apache
Qpid
End Users
Page 10 www.amqp.org
AMQP Requirements
Page 11 www.amqp.org
Agreed User Requirements (User SIG)
 UBIQUITOUS AND PERVASIVE
 Open internet protocol standard
 Binary WIRE protocol so that it can be ubiquitous, fast, embedded
 Unambiguous core functionality for business message routing and delivery
within Internet infrastructure
 Scalable, so that it can be a basis for high performance fault-tolerant lossless
messaging infrastructure, i.e without requiring other messaging technology
 Fits into existing enterprise messaging applications environments in a practical
way
Page 12 www.amqp.org
Agreed User Requirements
 UBIQUITOUS AND PERVASIVE
 SAFETY
 Infrastructure for a secure and trusted global transaction network
 Consisting of business messages that are tamper proof
 Supporting message durability independent of receivers being connected
 Transport business transactions of any financial value
 Sender and Receiver are mutually agreed upon counter parties
 No possibility for injection of Spam
Page 13 www.amqp.org
Agreed User Requirements
 UBIQUITOUS AND PERVASIVE
 SAFETY
 FIDELITY
 Well-stated message queuing and delivery semantics covering
 at-most-once
 at-least-once
 and once-and-only-once (e.g. 'reliable, assured, guaranteed)
 Well-stated message ordering semantics describing what a sender can expect
 a receiver to observe
 a queue manager to observe
 Well-stated reliable failure semantics
 so exceptions can be managed
Page 14 www.amqp.org
Agreed User Requirements
 UBIQUITOUS AND PERVASIVE
 SAFETY
 FIDELITY
 UNIFIED
 AMQP aspires to be the sole business messaging tool for organizations
 Global addressing standardizing end-to-end delivery across any network scope
 Any AMQP client can initiate communication with, and then communicate with, any
AMQP broker over TCP/IP
 Optionally, extendable to alternate transports via negotiation
 Provide a core set of messaging patterns via a single manageable protocol:
 asynchronous directed messaging
 request/reply, publish/subscribe
 store-and-forward
 Provide for Hub-and-Spoke messaging topology within and across business
boundaries
 Provide for Hub-to-Hub message relay across business boundaries through
enactment of explicit agreements between broker authorities
Page 15 www.amqp.org
Agreed User Requirements
 UBIQUITOUS AND PERVASIVE
 SAFETY
 FIDELITY
 UNIFIED
 INTEROPERABILITY
 Multiple stable and interoperating broker implementations
 Each with a completely independent provenance (min. 2 to move to Final)
 Each broker implementation is conformant with the specification, for all mandatory
functionality, including fidelity semantics
 Stable core (client-broker) wire protocol so that brokers do not require upgrade
during 1.x feature evolution: Any 1.x client will work with any 1.y broker if y >= x
 Stable extended (broker-broker) wire protocol so that brokers do not require
upgrade during 1.x feature evolution: Any two brokers versions 1.x, 1.y can
communicate using protocol 1.x if x<y
 Layered architecture, so features & network transports can be independently
extended by separated communities of use
Page 16 www.amqp.org
Agreed User Requirements
 UBIQUITOUS AND PERVASIVE
 SAFETY
 FIDELITY
 UNIFIED
 INTEROPERABILITY
 MANAGEABLE
 Decentralized deployment with independent local governance
 Intermediated: supports routing and relay management, traffic flow
management and quality of service management
 Interaction with the message delivery system is possible, sufficient to integrate
with prevailing business operations that administer messaging systems using
management standards.
Page 17 www.amqp.org
Banking Security Requirements
 SSL support
 Service Context (incl. Security Context):
 A standard Message property for for propagation of Security Tokens
 Support for carrying Security Tokens:
 Principal-ID, SAML, Kerberos ticket, etc.
 Carried within the Service Context in the Message
 Unique Security Token per Message:
 Enables multiplexing of different Security Contexts on a given messaging session
(e.g. for proxying)
 Hash and sign of Message (including Security Context)
 Assure authenticity of the contents in addition to encryption (content verified by
final-destination).
 Full-path privacy for business transactions that might pass through a number of hubs
enroute to the final destination, where you would not want to have the exposed
content of the message sitting in some queue and disk along the way.
 Chains of trust within trust realms - optional
Page 18 www.amqp.org
AMQP 1.0 Functionality
Page 19 www.amqp.org
AMQP 1.0 Scope
AMQP is Message Oriented Middleware (MOM)
 Transfers application data units from senders to receivers  layer 7
 An expectation that the message transfer is via trusted intermediaries
 An expectation that messages will be delivered unchanged
 An expectation of security
 Applications can be separated by (large amounts) of space and time
 Abstract from the underlying technology
 Physical network limits should be hidden (message size, node location)
 Technology concerns should be hidden (platform, language, OS)
 The intermediaries offer various delivery options, as defined by either the sender
or the receiver (s)
 The intermediaries provided various defined qualities of service for the sender
and the receiver (s)
 Provide stability and backwards compatibility (10yrs+)
Page 20 www.amqp.org
AMQP 1.0 Covers
 Queuing with strong Delivery Assurances
 Event distribution with Flexible Routing
 Large Message capability (gigabytes)
 Global Addressing Scheme (email-like)
 Meet common requirements of mission-critical systems
Implications
 Candidate for a common information infrastructure
 A foundation for other protocols and products
 E.g. In finance alone: FIX 5, FpML, ISO20022 File Transfer
report
Messaging
transact
Publish/
Subscribe
detect
Page 21 www.amqp.org
AMQP 1.0 is an Overlay Network
Broker
 Applications Connect to a Broker to participate in the AMQP network
 The Connection is used to establish a Session
 Sessions provide state between Connections, establish identity, ease failover
 Connections are further subdivide into Channels
 Multiple threads of control within an Application can share one Connection
Queues
 Applications logic interacts ONLY with Queues
 Queues have well known Names == Addressable
 Applications do not need to know how messages get in/out of Queues
 Queues can be smart, they are an extension point
 Applications will assign implied semantics to Queues (e.g. StockOrderQueue)
Links
 Links move Messages between Queues and/or Applications
 Contain Routing and Predicate Evaluation Logic  similar to Complex Event Processing
Page 22 www.amqp.org
AMQP 1.0 Model Entities
 The following entities are discoverable in any full AMQP 1.0 implementation:
 There will be many more entitles in an implementation which a portable
application must not depend on!
Link
Message
Queue
Predicate
source
target
evaluate
Message
enqueue
Zero or More
Zero or One
Exactly One
Legend:
move
or copy
messages
Queue
Entry
contains
Page 23 www.amqp.org
What Happened to Exchanges?
Exchange provided the core routing concept previously
 Upon reflection, exchanges were redundant
 Global Addressing drove the change
 Need one abstract name to route, need to hide implementation details
 Exchanges/Exchange Instance/Exchange type were leaky abstractions
 Exchange == Queue -> Links -> Queues
 Input Queue provide an abstract Address
 Links contain a Function to evaluate Messages
 Function parameterised by the Link predicates
 Output Queue = Link( message, predicates)
 New approach is more abstract and more flexible
 Moves complexity from Clients to Brokers
 Simpler to implement and use
 Lots of opportunity to differentiate
Page 24 www.amqp.org
Inter-Network Connectivity
Internet
Client
Broker
Broker
Broker
Client
Client
Client
Client
Client
Client
Client
Client
Firewalls
Page 25 www.amqp.org
Inter-Company Firewalls
4: DMZ
Broker
5: Target
Broker
1: DMZ
Broker
2: Source
Broker
6: Sub.
Client
3: Pub.
Client
Internet
Client
DMZ
Provider
DMZ
Client
LAN
Provider
LAN
Arrows indicate connection initiation
(from/to)
Network Topology
Page 26 www.amqp.org
AMQP 1.0 Data Flow Overview
(read) 1
6
Work Queue
appWork
<tail>
Link
Queue->Queue
Address Queue
publicName
Sending
Client
Receiving
Client
Logical store-and-forward transmission path
Link
Queue->Session
Message
AMQP Broker
Session
Session
Transport
Transfer Agent Admin Agent
Model
Transport to other
Brokers
Transport
6
<tail>
Transmission
Queue(s)
Page 27 www.amqp.org
Traditional Topologies Built from Parts
 Queues are used both for Persistent stores and transient buffers.
 Link model unifies point-to-point and publish/subscribe
 Finance example shows client messages being routed to various Queues
 Example mixes traditional Store & Forward and Transient Pub/Sub
Queue1
link/transfer
ClientA
Session
Client B
Session
Queue:
StockTicker
Queue:
US-Payments
Queue:
ServiceBus
Subject REGEXP stocks.ny.*
PREDICATE
Subject REGEXP stocks.uk.*
Subject REGEXP stocks.tk.*
BusEvt=Pay and Ccy!=USD
BusEvt = Unwind
usaQ
Queue1
worldQ
Queue1
usPayQ
link/transfer
link/transfer
link/transfer
BusEvt=Pay and Ccy=USD
Queue1
wrldPayQ
Queue1
unwindQ
Well-Known
Queue
In-Broker Links Work Queue
Session
StockTicker worldQ
StockTicker
StockTicker
SOURCE TARGET
worldQ
usaQ
Subject REGEXP stocks.ny.*
PREDICATE
StockTicker
SOURCE TARGET
usaQ
StockTicker
StockTicker
StockTicker
PREDICATE
SOURCE TARGET
unwindQ
worldPayQ
usPayQ
Page 28 www.amqp.org
Global Addressing
Queues have abstract names, but when routing between organisations a
convention is required.
AMQP follows many RFC822 email convention for Queue names
 Queue_Name @ example.org
 Domain names are only required for relaying to remote Brokers
 The Address is opaque to the sending Client, but behind that Address, the owner
of the Broker creates Links (either administratively or dynamically) to deliver
Messages sent to that Address to one or more Message Queues on the same or
different Brokers.
 Broker is autonomous; no privileged access is required on a remote Broker to
deliver messages. The targets topology must be hidden except for the Queue
name and authentication credentials.
 In later versions of AMQP we will standardise subscription propagation between
entities
Page 29 www.amqp.org
Management
Standardising AMQP Management and Administration too
 Management is a MOM application!
 Therefore commands can be secured and routed at the MOM level
 Seen control Messages to a well known service Queue
 Responses come back to private response Queues
Questions as to whether management is fully transacted/async
 Decided to do like most RDBMSs
 Management commands are not transacted
 When you get the response, you know it has taken effect
Features
 Queue management, queue depth/alerts, top talkers, slow consumers, kill clients, etc.
Vendors free to implement
 Bridges to additional management standards
 Additional features beyond the core
Page 30 www.amqp.org
AMQP1.0 Typical Usage Patterns
Page 31 www.amqp.org
Client
Producer
AMQP Broker
Client
Consumer
Entry 1
Entry 2
Entry 3
Session
Link
Session
Link
Queue (source)
-Persistent
Head
Tail
Highlights
Highlights:
 Only Source queue is required and can be
read directly by consumer over Link (i.e.
dedicated consumer Worker queue and
bridging between Source and Worker
unnecessary).
Point-to-point Queue Delivery
Page 32 www.amqp.org
Client
Producer
AMQP Broker
Entry 1
Entry 2
Entry 3
Session
Link
Queue (Source)
-Persistent
Head
Tail
Entry 1
Entry 2
Head
Link
Tail
Queue (worker)
-Persistent
Abstracted Point-to-point Queue
Highlights
Highlights:
 One Queue performs the role of holding the
Well Known name for the outside world.
 All messages are automatically forward on to
the real worker queue.
 Allows internal topology to change without
the outside world seeing (this PO Box)
Page 33 www.amqp.org
Client
Producer
AMQP Broker
Client
Consumer
Entry 1
Entry 2
Entry 3
Session
Link
Session
Link
Queue (source)
-Persistent
1 Head
or 2 ?
Tail
Client
Consumer
Session
Link
Load-Balanced Point-to-point Queue Delivery
Page 34 www.amqp.org
Client
Publisher
AMQP Broker
Client
Subscriber
Entry 1
Entry 2
Entry 3
Session
Link
Session
Link
Queue (Source)
-Non-persistent
Head
Tail
Client
Subscriber
Session
Link
Client
Subscriber
Session
Link
Head
Head
Dynamic (non-persistent) Pub/Sub Delivery
Dynamic (non-persistent) Pub/Sub Delivery
Highlights
Highlights:
 Messages are garbage collected in an implementation
specific manner after delivery.
 AMQP makes some guarantees about how long messages
are valid for.
Page 35 www.amqp.org
Client
Publisher
AMQP Broker
Entry 1
Entry 2
Entry 3
Session
Link
Queue (Source)
- persistent
Head
Tail
Client
Subscriber
Session
Link
Client
Subscriber
Session
Link
Head
Entry 1
Entry 2 Head
Head
Entry 1
Tail
Link
Link
Queue (Worker)
- persistent
Queue (Worker)
- persistent
Durable (persistent) Pub/Sub Delivery
Durable (persistent) Pub/Sub Delivery
Page 36 www.amqp.org
Technical Details Follow
Robert Godfrey  JPMorgan
Rafi Schloming  Red Hat

More Related Content

Similar to RabbitMQ Protocol Essentials - Introduction for beginners (20)

Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Al Sargent
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
Capgemini
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1
von gosling
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
helpsoft01
Rpc, Rmi And Webservices 2
Rpc, Rmi And Webservices 2Rpc, Rmi And Webservices 2
Rpc, Rmi And Webservices 2
groupe0D
Wireless Application Protocol ppt
Wireless Application Protocol pptWireless Application Protocol ppt
Wireless Application Protocol ppt
go2project
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?
Eurotech
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
Miki Lombardi
Running IBM MQ in the Cloud
Running IBM MQ in the CloudRunning IBM MQ in the Cloud
Running IBM MQ in the Cloud
Robert Parker
K046045964
K046045964K046045964
K046045964
IJERA Editor
Understanding and Using Client JBoss A-MQ APIs
Understanding and Using Client JBoss A-MQ APIsUnderstanding and Using Client JBoss A-MQ APIs
Understanding and Using Client JBoss A-MQ APIs
Kenneth Peeples
Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017
Robert Parker
VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...
VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...
VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...
VMworld
Wap model
Wap modelWap model
Wap model
Sri Manakula Vinayagar Engineering College
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
Codemotion
Uit Presentation of IN/NGIN for Cosmote 2010
Uit Presentation of IN/NGIN for  Cosmote  2010Uit Presentation of IN/NGIN for  Cosmote  2010
Uit Presentation of IN/NGIN for Cosmote 2010
michael_mountrakis
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basic
Gyewan An
IBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQIBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQ
Roman Kharkovski
Hybrid messaging webcast: Using the best of both worlds to drive your busines...
Hybrid messaging webcast: Using the best of both worlds to drive your busines...Hybrid messaging webcast: Using the best of both worlds to drive your busines...
Hybrid messaging webcast: Using the best of both worlds to drive your busines...
sconaomi
Message Queues a basic overview
Message Queues a basic overviewMessage Queues a basic overview
Message Queues a basic overview
Geshan Manandhar
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...Velocity Conference '13: Asynchronous messaging for performance optimization,...
Velocity Conference '13: Asynchronous messaging for performance optimization,...
Al Sargent
Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0Cwin16 tls-a micro-service deployment - v1.0
Cwin16 tls-a micro-service deployment - v1.0
Capgemini
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1
von gosling
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
Comparison between-rpc-rmi-and-webservices-son-1228374226080667-8
helpsoft01
Rpc, Rmi And Webservices 2
Rpc, Rmi And Webservices 2Rpc, Rmi And Webservices 2
Rpc, Rmi And Webservices 2
groupe0D
Wireless Application Protocol ppt
Wireless Application Protocol pptWireless Application Protocol ppt
Wireless Application Protocol ppt
go2project
Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?Is your MQTT broker IoT ready?
Is your MQTT broker IoT ready?
Eurotech
FEVR - Micro Frontend
FEVR - Micro FrontendFEVR - Micro Frontend
FEVR - Micro Frontend
Miki Lombardi
Running IBM MQ in the Cloud
Running IBM MQ in the CloudRunning IBM MQ in the Cloud
Running IBM MQ in the Cloud
Robert Parker
Understanding and Using Client JBoss A-MQ APIs
Understanding and Using Client JBoss A-MQ APIsUnderstanding and Using Client JBoss A-MQ APIs
Understanding and Using Client JBoss A-MQ APIs
Kenneth Peeples
Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017Planning for MQ in the cloud MQTC 2017
Planning for MQ in the cloud MQTC 2017
Robert Parker
VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...
VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...
VMworld 2013: Network Function Virtualization in the Cloud: Case for Enterpri...
VMworld
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
msnos: a cool and cozy blanket for your microservices - Bruno Bossola - Codem...
Codemotion
Uit Presentation of IN/NGIN for Cosmote 2010
Uit Presentation of IN/NGIN for  Cosmote  2010Uit Presentation of IN/NGIN for  Cosmote  2010
Uit Presentation of IN/NGIN for Cosmote 2010
michael_mountrakis
netconf, restconf, grpc_basic
netconf, restconf, grpc_basicnetconf, restconf, grpc_basic
netconf, restconf, grpc_basic
Gyewan An
IBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQIBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQ
Roman Kharkovski
Hybrid messaging webcast: Using the best of both worlds to drive your busines...
Hybrid messaging webcast: Using the best of both worlds to drive your busines...Hybrid messaging webcast: Using the best of both worlds to drive your busines...
Hybrid messaging webcast: Using the best of both worlds to drive your busines...
sconaomi
Message Queues a basic overview
Message Queues a basic overviewMessage Queues a basic overview
Message Queues a basic overview
Geshan Manandhar

Recently uploaded (20)

Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)
blouch36kp
Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025
Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025
Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025
numan02kp
Driver Genius 24 Crack 2025 License Key Free Download
Driver Genius 24 Crack 2025 License Key Free DownloadDriver Genius 24 Crack 2025 License Key Free Download
Driver Genius 24 Crack 2025 License Key Free Download
umeerbinfaizan
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
blouch36kp
Shopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptx
Shopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptxShopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptx
Shopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptx
Michael Foster
Wilcom Embroidery Studio E Crack 2025 FREE
Wilcom Embroidery Studio E Crack 2025 FREEWilcom Embroidery Studio E Crack 2025 FREE
Wilcom Embroidery Studio E Crack 2025 FREE
muhammadwaqaryounus6
IBM / MAINFRAME /RACF security-guide_pdf.pdf
IBM / MAINFRAME /RACF security-guide_pdf.pdfIBM / MAINFRAME /RACF security-guide_pdf.pdf
IBM / MAINFRAME /RACF security-guide_pdf.pdf
WILSON990330
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
shahzad011kp
PDF Reader Pro Crack FREE Download Latest Version
PDF Reader Pro Crack FREE Download Latest VersionPDF Reader Pro Crack FREE Download Latest Version
PDF Reader Pro Crack FREE Download Latest Version
waqarcracker5
AOMEI Backupper Crack 2025 FREE Download
AOMEI Backupper Crack 2025 FREE DownloadAOMEI Backupper Crack 2025 FREE Download
AOMEI Backupper Crack 2025 FREE Download
muhammadwaqaryounus6
Marketo Engage North America Virtual User Group: Adobe Summit 2025 recap
Marketo Engage North America Virtual User Group: Adobe Summit 2025 recapMarketo Engage North America Virtual User Group: Adobe Summit 2025 recap
Marketo Engage North America Virtual User Group: Adobe Summit 2025 recap
BradBedford3
Unveiling Extraordinary Software - Shared.pptx
Unveiling Extraordinary Software - Shared.pptxUnveiling Extraordinary Software - Shared.pptx
Unveiling Extraordinary Software - Shared.pptx
Michael Chen
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
Imma Valls Bernaus
Siemens Solid Edge crack + Activation Key Download 2025
Siemens Solid Edge crack + Activation Key Download 2025Siemens Solid Edge crack + Activation Key Download 2025
Siemens Solid Edge crack + Activation Key Download 2025
shahg123tt
wAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptxwAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptx
SimonedeGijt
Java and AI with LangChain4j: Jakarta EE and SmallRye LLM
Java and AI with LangChain4j: Jakarta EE and SmallRye LLMJava and AI with LangChain4j: Jakarta EE and SmallRye LLM
Java and AI with LangChain4j: Jakarta EE and SmallRye LLM
Edward Burns
Rights, Copyrights, and Licences for Software Engineering Research v1.0
Rights, Copyrights, and Licences for Software Engineering Research v1.0Rights, Copyrights, and Licences for Software Engineering Research v1.0
Rights, Copyrights, and Licences for Software Engineering Research v1.0
Yann-Ga谷l Gu辿h辿neuc
Hands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud DevelopersHands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud Developers
Meetu Maltiar
Microsoft Office Crack 2019 Free Download
Microsoft Office Crack 2019 Free DownloadMicrosoft Office Crack 2019 Free Download
Microsoft Office Crack 2019 Free Download
tayab01kp
Distributed systems: design, principles and experiencies
Distributed systems: design, principles and experienciesDistributed systems: design, principles and experiencies
Distributed systems: design, principles and experiencies
Andr辿s P辿rez Gil
Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)Adobe Illustrator Crack Download (Latest 2025)
Adobe Illustrator Crack Download (Latest 2025)
blouch36kp
Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025
Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025
Pazu Netflix Video Downloader 1.7.3 Crack Free Download 2025
numan02kp
Driver Genius 24 Crack 2025 License Key Free Download
Driver Genius 24 Crack 2025 License Key Free DownloadDriver Genius 24 Crack 2025 License Key Free Download
Driver Genius 24 Crack 2025 License Key Free Download
umeerbinfaizan
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
blouch36kp
Shopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptx
Shopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptxShopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptx
Shopify - CNCF March 2025 Meetup - Presentation - 26-03-25.pptx
Michael Foster
Wilcom Embroidery Studio E Crack 2025 FREE
Wilcom Embroidery Studio E Crack 2025 FREEWilcom Embroidery Studio E Crack 2025 FREE
Wilcom Embroidery Studio E Crack 2025 FREE
muhammadwaqaryounus6
IBM / MAINFRAME /RACF security-guide_pdf.pdf
IBM / MAINFRAME /RACF security-guide_pdf.pdfIBM / MAINFRAME /RACF security-guide_pdf.pdf
IBM / MAINFRAME /RACF security-guide_pdf.pdf
WILSON990330
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
Internet Download Manager (IDM) Crack + Lisence key Latest version 2025
shahzad011kp
PDF Reader Pro Crack FREE Download Latest Version
PDF Reader Pro Crack FREE Download Latest VersionPDF Reader Pro Crack FREE Download Latest Version
PDF Reader Pro Crack FREE Download Latest Version
waqarcracker5
AOMEI Backupper Crack 2025 FREE Download
AOMEI Backupper Crack 2025 FREE DownloadAOMEI Backupper Crack 2025 FREE Download
AOMEI Backupper Crack 2025 FREE Download
muhammadwaqaryounus6
Marketo Engage North America Virtual User Group: Adobe Summit 2025 recap
Marketo Engage North America Virtual User Group: Adobe Summit 2025 recapMarketo Engage North America Virtual User Group: Adobe Summit 2025 recap
Marketo Engage North America Virtual User Group: Adobe Summit 2025 recap
BradBedford3
Unveiling Extraordinary Software - Shared.pptx
Unveiling Extraordinary Software - Shared.pptxUnveiling Extraordinary Software - Shared.pptx
Unveiling Extraordinary Software - Shared.pptx
Michael Chen
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
The Missing Voices: Unearthing the Impact of Survivorship Bias on Women in Te...
Imma Valls Bernaus
Siemens Solid Edge crack + Activation Key Download 2025
Siemens Solid Edge crack + Activation Key Download 2025Siemens Solid Edge crack + Activation Key Download 2025
Siemens Solid Edge crack + Activation Key Download 2025
shahg123tt
wAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptxwAIred_VoxxedDaysAmsterdam_03042025.pptx
wAIred_VoxxedDaysAmsterdam_03042025.pptx
SimonedeGijt
Java and AI with LangChain4j: Jakarta EE and SmallRye LLM
Java and AI with LangChain4j: Jakarta EE and SmallRye LLMJava and AI with LangChain4j: Jakarta EE and SmallRye LLM
Java and AI with LangChain4j: Jakarta EE and SmallRye LLM
Edward Burns
Rights, Copyrights, and Licences for Software Engineering Research v1.0
Rights, Copyrights, and Licences for Software Engineering Research v1.0Rights, Copyrights, and Licences for Software Engineering Research v1.0
Rights, Copyrights, and Licences for Software Engineering Research v1.0
Yann-Ga谷l Gu辿h辿neuc
Hands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud DevelopersHands-On AWS: Java SDK + CLI for Cloud Developers
Hands-On AWS: Java SDK + CLI for Cloud Developers
Meetu Maltiar
Microsoft Office Crack 2019 Free Download
Microsoft Office Crack 2019 Free DownloadMicrosoft Office Crack 2019 Free Download
Microsoft Office Crack 2019 Free Download
tayab01kp
Distributed systems: design, principles and experiencies
Distributed systems: design, principles and experienciesDistributed systems: design, principles and experiencies
Distributed systems: design, principles and experiencies
Andr辿s P辿rez Gil

RabbitMQ Protocol Essentials - Introduction for beginners

  • 1. Cisco Systems Credit Suisse Deutsche B旦rse Systems Envoy Technologies Goldman Sachs iMatix IONA (a Progress company) JPMorgan Chase Microsoft Novell Rabbit Technologies Red Hat Solace Systems Tervela TWIST WSO2 29West AMQP 1.0 Public Review San Diego, April 2009 By members of the AMQP Working Group Internet Protocol for Business Messaging
  • 2. Page 2 www.amqp.org Agenda Time Activity Who Welcome John Orcutt (Director OOI Cyberinfrastructure) 1:15 Introduction to AMQP Motivations and real world use cases AMQP John O'Hara (JPMorgan) User SIG findings Mark Blair (Credit Suisse) Overview of the MOM capability 2:15 Refreshment Break 2:30 AMQP in detail Detail of the peer-to-peer model Rafi Schloming (RedHat) Detail of the organisation-to-organisation model Robert Godfrey (JPMorgan) Security Roadmap Management Roadmap 4:45 Refreshment Break 5:00 Break Out Interactive Sessions Facilitator: Tell us what you think, ask the unaskable! Matthew Arrott 5:30 AMQP in Action Implementers present real customer stories iMatix, Rabbit MQ, Red Hat
  • 3. Page 3 www.amqp.org Whats Happening Today? Launching AMQP1.0 Public Review Present the outcome of 4 years evolution and experience Invite input from the outside world Refine & Correct, but not Redefine Check that we are not wearing the Emperors New Clothes AMQP 1.0 will only be advanced to Final when there are multiple implementations of the Committee Draft that play nicely together Academic Setting NOT a commercial dog and pony show (mostly!) We come to the public with humility seeking input and validation A Short Time to cover a Lot Ask questions as we go along, bit issues may be parked Feedback session to capture feedback at 5pm Working Group Members should save issues for the private sessions
  • 5. Page 5 www.amqp.org AMQP was born of frustration MOM needs to be everywhere to be useful dominant solutions are proprietary too expensive for everyday use (Cloud-scale) they dont interoperate has resulted in lots of ad-hoc home-brew how hard can middleware be? Middleware Hell 100s of applications 10,000s of links every connection different massive waste of effort The Internets missing standard Why has no one done this before?
  • 6. Page 6 www.amqp.org The AMQP Working Group Set up by JPMorgan in 2006 Goal to make Message Oriented Middleware pervasive Make it practical, useful, interoperable Bring together users and vendors to solve the problem We say AMQP is an Internet Protocol for Business Messaging so end users feel a connection to the technology. AMQP aspires to define MOM
  • 7. Page 7 www.amqp.org AMQP Vision AMQP Message Bus Enterprise Branch Offices AMQP Aware Infrastructure Business Partners treasury@fundmanager.com orders@supplier.com AMQP Global Addressing Internet AMQP Aware Clients Devices & workstations AMQP Aware Services C/C++, Java JMS, Microsoft WCF and Business Applications
  • 8. Page 8 www.amqp.org Ubiquitous => Unencumbered AMQP Intellectual Property Policy Unambiguous Right to Implement The Authors each hereby grants to you a worldwide, perpetual, royalty- free, non-transferable, nonexclusive license to (i) copy, display, distribute and implement the Advanced Messaging Queue Protocol ("AMQP") Specification and (ii) the Licensed Claims that are held by the Authors, all for the purpose of implementing the Advanced Messaging Queue Protocol Specification. "Licensed Claims" means those claims of a patent or patent application, throughout the world, excluding design patents and design registrations, owned or controlled, or that can be sublicensed without fee and in compliance with the requirements of this Agreement, by an Author or its affiliates now or at any future time and which would necessarily be infringed by implementation of the Advanced Messaging Queue Protocol Specification. The License is attached to the AMQP Specification itself You get the rights when you download it!
  • 9. Page 9 www.amqp.org AMQP Working Group Strong Governance Credit-Suisse, JPMorgan, Deutsche Borse Systems, Goldman Sachs, TWIST, 29West, Envoy, Novell, Tervela, WSO2,.. iMatix Apache Red Hat iMatix OpenAMQ Cisco Protocol Products Red Hat MRG Cisco AON AMQP Working Group controls the standard Diverse products implement the standard Community Feedback Rabbit Rabbit MQ Apache Qpid End Users
  • 11. Page 11 www.amqp.org Agreed User Requirements (User SIG) UBIQUITOUS AND PERVASIVE Open internet protocol standard Binary WIRE protocol so that it can be ubiquitous, fast, embedded Unambiguous core functionality for business message routing and delivery within Internet infrastructure Scalable, so that it can be a basis for high performance fault-tolerant lossless messaging infrastructure, i.e without requiring other messaging technology Fits into existing enterprise messaging applications environments in a practical way
  • 12. Page 12 www.amqp.org Agreed User Requirements UBIQUITOUS AND PERVASIVE SAFETY Infrastructure for a secure and trusted global transaction network Consisting of business messages that are tamper proof Supporting message durability independent of receivers being connected Transport business transactions of any financial value Sender and Receiver are mutually agreed upon counter parties No possibility for injection of Spam
  • 13. Page 13 www.amqp.org Agreed User Requirements UBIQUITOUS AND PERVASIVE SAFETY FIDELITY Well-stated message queuing and delivery semantics covering at-most-once at-least-once and once-and-only-once (e.g. 'reliable, assured, guaranteed) Well-stated message ordering semantics describing what a sender can expect a receiver to observe a queue manager to observe Well-stated reliable failure semantics so exceptions can be managed
  • 14. Page 14 www.amqp.org Agreed User Requirements UBIQUITOUS AND PERVASIVE SAFETY FIDELITY UNIFIED AMQP aspires to be the sole business messaging tool for organizations Global addressing standardizing end-to-end delivery across any network scope Any AMQP client can initiate communication with, and then communicate with, any AMQP broker over TCP/IP Optionally, extendable to alternate transports via negotiation Provide a core set of messaging patterns via a single manageable protocol: asynchronous directed messaging request/reply, publish/subscribe store-and-forward Provide for Hub-and-Spoke messaging topology within and across business boundaries Provide for Hub-to-Hub message relay across business boundaries through enactment of explicit agreements between broker authorities
  • 15. Page 15 www.amqp.org Agreed User Requirements UBIQUITOUS AND PERVASIVE SAFETY FIDELITY UNIFIED INTEROPERABILITY Multiple stable and interoperating broker implementations Each with a completely independent provenance (min. 2 to move to Final) Each broker implementation is conformant with the specification, for all mandatory functionality, including fidelity semantics Stable core (client-broker) wire protocol so that brokers do not require upgrade during 1.x feature evolution: Any 1.x client will work with any 1.y broker if y >= x Stable extended (broker-broker) wire protocol so that brokers do not require upgrade during 1.x feature evolution: Any two brokers versions 1.x, 1.y can communicate using protocol 1.x if x<y Layered architecture, so features & network transports can be independently extended by separated communities of use
  • 16. Page 16 www.amqp.org Agreed User Requirements UBIQUITOUS AND PERVASIVE SAFETY FIDELITY UNIFIED INTEROPERABILITY MANAGEABLE Decentralized deployment with independent local governance Intermediated: supports routing and relay management, traffic flow management and quality of service management Interaction with the message delivery system is possible, sufficient to integrate with prevailing business operations that administer messaging systems using management standards.
  • 17. Page 17 www.amqp.org Banking Security Requirements SSL support Service Context (incl. Security Context): A standard Message property for for propagation of Security Tokens Support for carrying Security Tokens: Principal-ID, SAML, Kerberos ticket, etc. Carried within the Service Context in the Message Unique Security Token per Message: Enables multiplexing of different Security Contexts on a given messaging session (e.g. for proxying) Hash and sign of Message (including Security Context) Assure authenticity of the contents in addition to encryption (content verified by final-destination). Full-path privacy for business transactions that might pass through a number of hubs enroute to the final destination, where you would not want to have the exposed content of the message sitting in some queue and disk along the way. Chains of trust within trust realms - optional
  • 18. Page 18 www.amqp.org AMQP 1.0 Functionality
  • 19. Page 19 www.amqp.org AMQP 1.0 Scope AMQP is Message Oriented Middleware (MOM) Transfers application data units from senders to receivers layer 7 An expectation that the message transfer is via trusted intermediaries An expectation that messages will be delivered unchanged An expectation of security Applications can be separated by (large amounts) of space and time Abstract from the underlying technology Physical network limits should be hidden (message size, node location) Technology concerns should be hidden (platform, language, OS) The intermediaries offer various delivery options, as defined by either the sender or the receiver (s) The intermediaries provided various defined qualities of service for the sender and the receiver (s) Provide stability and backwards compatibility (10yrs+)
  • 20. Page 20 www.amqp.org AMQP 1.0 Covers Queuing with strong Delivery Assurances Event distribution with Flexible Routing Large Message capability (gigabytes) Global Addressing Scheme (email-like) Meet common requirements of mission-critical systems Implications Candidate for a common information infrastructure A foundation for other protocols and products E.g. In finance alone: FIX 5, FpML, ISO20022 File Transfer report Messaging transact Publish/ Subscribe detect
  • 21. Page 21 www.amqp.org AMQP 1.0 is an Overlay Network Broker Applications Connect to a Broker to participate in the AMQP network The Connection is used to establish a Session Sessions provide state between Connections, establish identity, ease failover Connections are further subdivide into Channels Multiple threads of control within an Application can share one Connection Queues Applications logic interacts ONLY with Queues Queues have well known Names == Addressable Applications do not need to know how messages get in/out of Queues Queues can be smart, they are an extension point Applications will assign implied semantics to Queues (e.g. StockOrderQueue) Links Links move Messages between Queues and/or Applications Contain Routing and Predicate Evaluation Logic similar to Complex Event Processing
  • 22. Page 22 www.amqp.org AMQP 1.0 Model Entities The following entities are discoverable in any full AMQP 1.0 implementation: There will be many more entitles in an implementation which a portable application must not depend on! Link Message Queue Predicate source target evaluate Message enqueue Zero or More Zero or One Exactly One Legend: move or copy messages Queue Entry contains
  • 23. Page 23 www.amqp.org What Happened to Exchanges? Exchange provided the core routing concept previously Upon reflection, exchanges were redundant Global Addressing drove the change Need one abstract name to route, need to hide implementation details Exchanges/Exchange Instance/Exchange type were leaky abstractions Exchange == Queue -> Links -> Queues Input Queue provide an abstract Address Links contain a Function to evaluate Messages Function parameterised by the Link predicates Output Queue = Link( message, predicates) New approach is more abstract and more flexible Moves complexity from Clients to Brokers Simpler to implement and use Lots of opportunity to differentiate
  • 24. Page 24 www.amqp.org Inter-Network Connectivity Internet Client Broker Broker Broker Client Client Client Client Client Client Client Client Firewalls
  • 25. Page 25 www.amqp.org Inter-Company Firewalls 4: DMZ Broker 5: Target Broker 1: DMZ Broker 2: Source Broker 6: Sub. Client 3: Pub. Client Internet Client DMZ Provider DMZ Client LAN Provider LAN Arrows indicate connection initiation (from/to) Network Topology
  • 26. Page 26 www.amqp.org AMQP 1.0 Data Flow Overview (read) 1 6 Work Queue appWork <tail> Link Queue->Queue Address Queue publicName Sending Client Receiving Client Logical store-and-forward transmission path Link Queue->Session Message AMQP Broker Session Session Transport Transfer Agent Admin Agent Model Transport to other Brokers Transport 6 <tail> Transmission Queue(s)
  • 27. Page 27 www.amqp.org Traditional Topologies Built from Parts Queues are used both for Persistent stores and transient buffers. Link model unifies point-to-point and publish/subscribe Finance example shows client messages being routed to various Queues Example mixes traditional Store & Forward and Transient Pub/Sub Queue1 link/transfer ClientA Session Client B Session Queue: StockTicker Queue: US-Payments Queue: ServiceBus Subject REGEXP stocks.ny.* PREDICATE Subject REGEXP stocks.uk.* Subject REGEXP stocks.tk.* BusEvt=Pay and Ccy!=USD BusEvt = Unwind usaQ Queue1 worldQ Queue1 usPayQ link/transfer link/transfer link/transfer BusEvt=Pay and Ccy=USD Queue1 wrldPayQ Queue1 unwindQ Well-Known Queue In-Broker Links Work Queue Session StockTicker worldQ StockTicker StockTicker SOURCE TARGET worldQ usaQ Subject REGEXP stocks.ny.* PREDICATE StockTicker SOURCE TARGET usaQ StockTicker StockTicker StockTicker PREDICATE SOURCE TARGET unwindQ worldPayQ usPayQ
  • 28. Page 28 www.amqp.org Global Addressing Queues have abstract names, but when routing between organisations a convention is required. AMQP follows many RFC822 email convention for Queue names Queue_Name @ example.org Domain names are only required for relaying to remote Brokers The Address is opaque to the sending Client, but behind that Address, the owner of the Broker creates Links (either administratively or dynamically) to deliver Messages sent to that Address to one or more Message Queues on the same or different Brokers. Broker is autonomous; no privileged access is required on a remote Broker to deliver messages. The targets topology must be hidden except for the Queue name and authentication credentials. In later versions of AMQP we will standardise subscription propagation between entities
  • 29. Page 29 www.amqp.org Management Standardising AMQP Management and Administration too Management is a MOM application! Therefore commands can be secured and routed at the MOM level Seen control Messages to a well known service Queue Responses come back to private response Queues Questions as to whether management is fully transacted/async Decided to do like most RDBMSs Management commands are not transacted When you get the response, you know it has taken effect Features Queue management, queue depth/alerts, top talkers, slow consumers, kill clients, etc. Vendors free to implement Bridges to additional management standards Additional features beyond the core
  • 30. Page 30 www.amqp.org AMQP1.0 Typical Usage Patterns
  • 31. Page 31 www.amqp.org Client Producer AMQP Broker Client Consumer Entry 1 Entry 2 Entry 3 Session Link Session Link Queue (source) -Persistent Head Tail Highlights Highlights: Only Source queue is required and can be read directly by consumer over Link (i.e. dedicated consumer Worker queue and bridging between Source and Worker unnecessary). Point-to-point Queue Delivery
  • 32. Page 32 www.amqp.org Client Producer AMQP Broker Entry 1 Entry 2 Entry 3 Session Link Queue (Source) -Persistent Head Tail Entry 1 Entry 2 Head Link Tail Queue (worker) -Persistent Abstracted Point-to-point Queue Highlights Highlights: One Queue performs the role of holding the Well Known name for the outside world. All messages are automatically forward on to the real worker queue. Allows internal topology to change without the outside world seeing (this PO Box)
  • 33. Page 33 www.amqp.org Client Producer AMQP Broker Client Consumer Entry 1 Entry 2 Entry 3 Session Link Session Link Queue (source) -Persistent 1 Head or 2 ? Tail Client Consumer Session Link Load-Balanced Point-to-point Queue Delivery
  • 34. Page 34 www.amqp.org Client Publisher AMQP Broker Client Subscriber Entry 1 Entry 2 Entry 3 Session Link Session Link Queue (Source) -Non-persistent Head Tail Client Subscriber Session Link Client Subscriber Session Link Head Head Dynamic (non-persistent) Pub/Sub Delivery Dynamic (non-persistent) Pub/Sub Delivery Highlights Highlights: Messages are garbage collected in an implementation specific manner after delivery. AMQP makes some guarantees about how long messages are valid for.
  • 35. Page 35 www.amqp.org Client Publisher AMQP Broker Entry 1 Entry 2 Entry 3 Session Link Queue (Source) - persistent Head Tail Client Subscriber Session Link Client Subscriber Session Link Head Entry 1 Entry 2 Head Head Entry 1 Tail Link Link Queue (Worker) - persistent Queue (Worker) - persistent Durable (persistent) Pub/Sub Delivery Durable (persistent) Pub/Sub Delivery
  • 36. Page 36 www.amqp.org Technical Details Follow Robert Godfrey JPMorgan Rafi Schloming Red Hat

Editor's Notes

  • #5: You are accepting something in your network you wouldnt accept anywhere else. You maybe cant even see the wood for the trees. Why is there no RJ45 for communication between business systems? Imagine If: your laptop could only connect to a same brand network your email client could only send email to people with the same email client your JMS could only send messages to the same vendors JMS ?!?? Those are problems you expect not to put up with. FIX for everything else.
  • #9: Parallels to FIX, FPML Were fixing the bit we forgot first time round.