Building Large Scale Distributed Systems with...
Transcript of Building Large Scale Distributed Systems with...
![Page 2: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/2.jpg)
Agenda● What is AMQP?● Why is AMQP important to large distributed
enterprises?● How is the Apache Community making
AMQP a reality?● Wrap-up and Questions
![Page 3: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/3.jpg)
What You will Take Away
● AMQP is More Than Messaging● AMQP is Complex and Capable● Apache Makes AMQP Accessible and
Easy to Use● The Apache Software Foundation is on the
Cutting Edge of Distributed Computing
![Page 4: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/4.jpg)
Your Presenter● Ted Ross
Managing Principal Software EngineerRed Hat Inc. (Westford, MA)PMC Member and Committer
● Apache Qpid projectMRG-M product
● Background in Computer Networking and Network Security
![Page 5: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/5.jpg)
What is AMQP● Advanced Message Queuing Protocol
“Open Internet Protocol for Business Messaging”http://www.amqp.org
● Developed– By Users and Vendors– In Financial Services and Other Industry
Verticals– To address lock-in from proprietary
messaging systems
![Page 6: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/6.jpg)
AMQP and MOM● AMQP Came from the Messaging Oriented
Middleware (MOM) World– Early Versions based on Client and Broker,
Defined Broker Behavior
● AMQP 1.0 is Symmetric and Mostly Silent on Broker Behavior
● AMQP is More than Messaging...
![Page 7: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/7.jpg)
Protocols and APIs
Protocol
API API
Application Application
![Page 8: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/8.jpg)
Protocols and APIs
HTTP
REST WebServer/CGI
Application Application
![Page 9: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/9.jpg)
Protocols and APIs
<proprietary>
JMS JMS
Application Application
![Page 10: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/10.jpg)
Protocols and APIs
<proprietary>
JMS JMS
Application Application
Broker
![Page 11: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/11.jpg)
Protocols and APIs
<proprietary>
JMS (vendor A) JMS (vendor B)
Application Application
Broker(vendor A)
<proprietary> X
![Page 12: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/12.jpg)
Protocols and APIs
AMQP
JMS (vendor A) JMS (vendor B)
Application Application
Broker(vendor A)
![Page 13: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/13.jpg)
Protocols and APIs
AMQP
JMS Qpid .NET
Application Application
Broker
![Page 14: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/14.jpg)
Protocols and APIs
AMQP
JMS Qpid .NET
Application Application
![Page 15: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/15.jpg)
Protocols to Contrast● HTTP● SMTP● STOMP● MQTT● ...
![Page 16: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/16.jpg)
AMQP Anatomy
Connection
![Page 17: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/17.jpg)
AMQP Anatomy
Connection
● Reliable Transport Connection– TCP, RDMA over Infiniband/10GigE, etc.
– Transport-Level Security (SSL/TLS, SASL)
![Page 18: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/18.jpg)
AMQP Anatomy
Connection
Session
Session
![Page 19: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/19.jpg)
AMQP Anatomy
Connection
Session
Session
● Session Multiplexing● Interleaving of Message Flow
![Page 20: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/20.jpg)
AMQP Anatomy
Connection
Session
Session
Links
![Page 21: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/21.jpg)
AMQP Anatomy
Connection
Session
Session
Links
● Full Duplex Message Transfer● Asynchronous Message Transfer● Independent Flow Control
![Page 22: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/22.jpg)
Link
Message Transfer
![Page 23: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/23.jpg)
SourceNode
DestinationNode Link
Message Transfer
![Page 24: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/24.jpg)
SourceNode
DestinationNode Link
Message Handoff – Copy/Move
SourceNode
DestinationNode Link
Message Copy
Message Move
![Page 25: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/25.jpg)
SourceNode
DestinationNode Link
Settlement and Disposition
● Pre-Settled (Fire and Forget)● Settled with Disposition
– Accepted
– Rejected
– Released
![Page 26: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/26.jpg)
SourceNode
DestinationNode Link
Transactions
● Local Transaction● Distributed Transaction
![Page 27: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/27.jpg)
SourceNode
DestinationNode Link
Message Handoff – Flow Control
● Destination Issues Credit● Source Sends no more than <credit>
Deliveries● Flow Control is Independent from Settlement
credit=2
![Page 28: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/28.jpg)
Flow Control
DataCollectionSystem
A MultitudeOf
Data Sources
AMQP Links
![Page 29: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/29.jpg)
Summary of Benefits● Session Multiplexing● Full Duplex, Asynchronous Transfer● Formal Semantics of Message Hand-Off● Data Security● Flow Control● Serialization of Structured Data● Message Metadata
![Page 30: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/30.jpg)
Topologies - MOM
Endpoint EndpointAMQPIntermediary(Broker)
AMQP
![Page 31: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/31.jpg)
Topologies – Point to Point
Endpoint EndpointAMQP
![Page 32: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/32.jpg)
Topologies
Endpoint EndpointAMQPAMQPNetwork
orMessaging
Service
![Page 33: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/33.jpg)
AMQP Network
router
proxy proxy proxy
proxyproxy
broker
router
router router
?
![Page 34: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/34.jpg)
AMQP Router
RouterNode
Links toOtherRouters
Links toConnectedEndpoints
● Tracks Locally Connected Endpoints● Can Assign Temporary Addresses● Shares Address Information with Other
Routers
Routing Table
![Page 35: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/35.jpg)
AMQP Proxy
ProxyNode
● Ties a “public-facing” link to an Internal Link● Policy Enforcement at Link Setup Time● Renaming of Link Target/Source may Occur● Delivery Transfer is Very Simple
Link to/from Endpoint Link into Network
![Page 36: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/36.jpg)
Use Case● Public Service Delivery over AMQP
– Hardened Proxies● Enforce Access Policy● Provide Multi-Tennancy● Resist Denial-of-Service
– Routers● Provide Redundancy and Scaling
– Brokers● Provide Queuing, Persistence, etc.
![Page 37: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/37.jpg)
This is Complicated
How Do I Use It?
![Page 38: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/38.jpg)
AMQP in Messaging Systems● Apache ActiveMQ
– Multi-protocol Java Message Broker
– Includes AMQP Transport
● Apache Qpid– AMQP Brokers (Native and Java)
– AMQP Clients● Native, Java JMS/JCA, .NET● C++, Java, Python, Ruby, Perl, PHP, *.NET
![Page 39: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/39.jpg)
AMQP in Your Systems● Qpid Proton
– Intended for Embedding and Integration
– Implementation of the AMQP Protocol
– C, Java, Javascript
– Messenger API with script language wrappers
● Qpid Dispatch– Event-Driven, Multi-Threaded container for
Proton
![Page 40: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/40.jpg)
Qpid Proton
DriverEngine Transport I/O
● Driver– Provides I/O
– Defines Threading Model
● Engine– State Machine
– Non-Blocking API
![Page 41: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/41.jpg)
Qpid Proton
DriverEngine Transport I/O
● Proton Messenger– Easy to Use Messaging API for Developers
– Hides many Details of AMQP
Messenger
![Page 42: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/42.jpg)
Integrating over Messenger
DriverEngine Transport I/O
Messenger
Your Application/API/Bridge/etc.
![Page 43: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/43.jpg)
Integrating over Engine
DriverEngine Transport I/O
Your Application/API/Bridge/etc.
● The “Red Pill”● When you need control over every aspect
of AMQP● Significantly more complex
![Page 44: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/44.jpg)
Qpid Dispatch● Goals
– Aid in Integration over Proton Engine
– Provide a framework for development of AMQP infrastructure
– Simple intermediaries that can fully utilize expensive network infrastructure
● Multi-Threaded Event-Driven Container
![Page 45: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/45.jpg)
Qpid Dispatch Architecture
DriverProton Engine Transport I/O
SERVER
CONTAINER
ROUTER
MESSAGE
![Page 46: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/46.jpg)
Qpid Dispatch - Server
DriverProton Engine
SERVER
CONTAINER
ROUTERMESSAGE
● AMQP Connections– Listeners
– Resilient Connectors
● Timers● Thread Control (quiesce/resume, etc.)● Management of non-AMQP FDs● Handling of Signals
![Page 47: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/47.jpg)
Qpid Dispatch - Container
DriverProton Engine
SERVER
CONTAINER
ROUTERMESSAGE
● API for Node Creation● Manages Node Lifecycle● Handles Links and Deliveries
– Link attach/detach
– Delivery inbound/outbound
– Disposition and Settlement
– Flow Control
![Page 48: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/48.jpg)
Qpid Dispatch - Message
DriverProton Engine
SERVER
CONTAINER
ROUTERMESSAGE
● API for Message Manipulation– Fixed-size buffer chaining
– Access to fields regardless of buffer boundaries
– Parses message contents only as far as needed
– Efficiently handles modified annotations
![Page 49: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/49.jpg)
Qpid Dispatch - Router
DriverProton Engine
SERVER
CONTAINER
ROUTERMESSAGE
● Tracks Consumers by Address● Forwards Messages from
Inbound Link to Outbound Linkby Address
● Supports Internal and External Endpoints● Interacts with Other Routers to Compute
Paths across Networks
![Page 50: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/50.jpg)
Future Work● Configuration● Agent for Remote Management● Proxy Node
![Page 51: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/51.jpg)
Qpid Dispatch● Sub-Project of Apache Qpid
svn: qpid/trunk/qpid/extras/dispatch
● Installed Artifactsinclude/qpid/dispatch/*.hlib/libqpid-dispatch.sobin/dispatch-router
● Web Site– Content will appear after the release of Qpid
0.22 (End of March)
![Page 52: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/52.jpg)
Summary of Apache Projects
ProjectProject VersionVersion MaturityMaturity
Apache ActiveMQ 5.8 Mature
Apache Qpid 0.20 Mature
Qpid Proton 0.4 Emerging
Qpid Dispatch unreleased New
![Page 53: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/53.jpg)
What You will Take Away
● AMQP is More Than Messaging● AMQP is Complex and Capable● Apache Makes AMQP Accessible and
Easy to Use● The Apache Software Foundation is on the
Cutting Edge of Distributed Computing
![Page 54: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/54.jpg)
Questions and Discussion
![Page 55: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/55.jpg)
Bonus Material
![Page 56: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/56.jpg)
SourceNode
DestinationNode Link
Message Handoff
● Message and Delivery are Separate– “Letter” and “Envelope”
– Same message may be delivered to multiple destinations or redelivered to the same destination
![Page 57: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/57.jpg)
SourceNode
DestinationNode Link
Link and Message Address
Link Target Link Source
To:
![Page 58: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/58.jpg)
SourceNode
DestinationNode Link
Source Filters
Source Filter
![Page 59: Building Large Scale Distributed Systems with AMQParchive.apachecon.com/na2013/presentations/26... · AMQP and MOM AMQP Came from the Messaging Oriented Middleware (MOM) World –](https://reader030.fdocuments.net/reader030/viewer/2022040812/5e55d423e07f440f535ad315/html5/thumbnails/59.jpg)
Message Structure
headerdelivery
annotationmessage
annotationproperties app
propertiesdata footer
● Data may be in any Format including AMQP-formatted data
● Structured Properties and Annotations
● Security– Bare Message may be signed/encrypted
– CRC/Signature in footer for efficiency