SlideShare une entreprise Scribd logo
1  sur  53
Télécharger pour lire hors ligne
Introduction to Message Queuing
raphael.cohn@stormmq.com
Agenda
A Real Application ! 20 min
Nibbles and Hands–On ! 60 min
Introduction to AMQP ! 20 min
Why Message Queuing? ! 25 min
Classic Architecture ! 10 min
History of Message Queuing
Manual Telegraphy Machine Assisted Telegraphy
1920s1911 - 192019th Century 1900s
Telegrams sent using
“Store and Forward”
1900
1930s
History of Message Queuing
Telcos UseElectronic Telegraphy
1950s1940s 1960s
IBM System/360 with
BTAM & QTAM
Message Switching
1964
First Electronic Mail
Solutions
1965
Banking Users
1970s
IBM TCAM which is
the first true solution
Retired 1990!
1971
History of Message Queuing
l
FMCG & Utilities
1990s
MQSeries
phereMQ)
92
Corporates Large Websites YOU
Noughties Today
Sun Release Java JMS,
Reinvigorating
Enterprise Messaging
2001
AMQP Working
Group Formed by
Investment Banks
2006
Cloud Enables and
Drives StormMQ
Adoption
2009
The Integration Tag Soup
WS –File Transfer
!"#$%&'(#)#*#+%+
Message Queuing
SOAP
EMail
SMTP
FTP
RSYNC
NTFS
!','-
!).$%&'/$.0%&1$%+
234%5)6!%$7%$
SOA
Message
Orientated
Middleware
JMS
MQ
MQSeries
AMQP
Amazon SQS
Tibco
StormMQ
RabbitMQ
HTTP
TCP/IP
DCE / RPC
CORBA
DCOM
REST
RMI
XML-RPC
.NET Remoting
Remote Procedure Call
The Integration Tag Soup
WS –File Transfer
!"#$%&'(#)#*#+%+
Message Queuing
SOAP
EMail
SMTP
FTP
RSYNC
NTFS
!','-
!).$%&'/$.0%&1$%+
234%5)6!%$7%$
SOA
Message
Orientated
Middleware
JMS
MQ
MQSeries
AMQP
Amazon SQS
Tibco
StormMQ
RabbitMQ
HTTP
TCP/IP
DCE / RPC
CORBA
DCOM
REST
RMI
XML-RPC
.NET Remoting
Remote Procedure Call
The Integration Tag Soup
Message Queuing
Under Examination, though
Deployment
Intimate System Knowledge
Configuration
Admin
File Transfer
!"#$%&'(#)#*#+%+
Remote Procedure Call
Don’tWork in the Cloud
Scaling
Ideal: Message Queuing
Systems are “loosely-coupled”
Message
Queuing
Systems don’t
know each other
Why Use it: Loose Coupling
Billing
Catalogue
Shipping
S-a-a-S Inventory
How do we connect them, without one outage or system
change taking everything down like a pack of cards?
Why Use it: Loose Coupling
Billing
Catalogue
Shipping
S-a-a-S Inventory
How do we connect them, without one outage or system
change taking everything down like a pack of cards?
Message Queuing lets Systems and Components exchange
data, events, commands and actions with one another
with no explicit knowledge or need for them to be online
It should be ideal for the cloud
It should be ideal for the cloud
!
!
!
Until today, messaging is …
(ZeroMQ)
(SQS uses HTTP)
(MSMQ uses COM)
(memcached)
(Java JMS
uses
Source)
(MQSeries / WebsphereMQ)
(Talarian, Rendezvous, etc)
Platform Restricted BespokeProprietary
!
!
!
Until today, messaging is …
(ZeroMQ)
(SQS uses HTTP)
(MSMQ uses COM)
(memcached)
(Java JMS
uses
Source)
(MQSeries / WebsphereMQ)
(Talarian, Rendezvous, etc)
Why is it Hell?
You need more staff And moneyYou need bridge technology
Why is it Hell?
You need more staff And moneyYou need bridge technology
However, there’s a solution
A-MQPAdvanced Message Queue Protocol
However, there’s a solution
However, AMQP fixes this
A common wire-level binary
format and protocol
An explicit definition of a
server (aka broker)’s
semantics
Open Means
Interoperable
That is good …
“AMQP will be to Messaging what HTTP was to theWeb”
MRG
Clients run on any Platform Vendors are Interoperable
That is good …
“AMQP will be to Messaging what HTTP was to theWeb”
MRG
Clients run on any Platform Vendors are Interoperable
64K
From Anywhere to Anywhere
From Anywhere to Anywhere
EddieVelez
Quick Recap
✓
The fifth male member
of the A-Team, Frankie,
was played by
Question
Message Queuing connects systems and
components. Is it ideal for the cloud?
Does Loose-Coupling make individual
systems more likely to suffer outages?
Yes No
AMQP is Open.
This makes it suitable for programming
in C and Javascript?
!
✓
Agenda
Introduction to AMQP ! 20 min
Why Message Queuing? ! 25 min
Classic Architecture ! 10 min
A Real Application ! 20 min
Pizza and Hands–On ! 60 min
Store and Forward
Billing
“Could you send me a duplicate of my bill please”
REST
StormMQ
Messaging
Billing
!
Fire and Forget
Shipping
“Too many orders.The website is running like a dog.”
SQL Push SQL Pull
StormMQ
Messaging
Shipping
One-To-Many
“There’s a new widget in the Catalogue: Tell all the systems.”
Catalogue
Shipping
S-a-a-S Inventory
File Transfer
ETL
One-To-Many
“There’s a new widget in the Catalogue: Tell all the systems.”
Catalogue
Shipping
S-a-a-S Inventory
StormMQ
Messaging
StormMQ
Messaging
Round-Robin
Billing
“How do we easily scale a massive batch job like Billing?”
EMail BillGenerate
StormMQ
Messaging
Publish-Subscribe (“Topics”)
“Shipments Sent, Delivered and Received”
Shipping
S-a-a-S Inventory
Billing
RIASent
Sent or
Returned
22
Web Sockets Architecture
Copyright © 2010, Kaazing Corporation,. All rights reserved.
Agenda
Introduction to AMQP ! 20 min
Why Message Queuing? ! 25 min
Classic Architecture ! 10 min
A Real Application ! 20 min
Nibbles and Hands–On ! 60 min
Messaging: Which Jargon?
EMail
(SMTP, POP3, IMAP)
VoIP
(VoiceMail, XMPP)
Texting
(SMS)
Instant Messaging
(ICQ, MSN, Jabber)
Twitter
Enterprise Service Bus
(ESB)
Dynamic OO
Languages
(eg Ruby)
Message Queuing
(MQ)
Message Queuing
(MQ)
What do we
mean by
Messaging?
Essential Terms
Message Queue What’s a Message?
Envelope
Payload
Header
Essential Terms
*Strictly speaking
a receiver polls for messages
a consumer has messages pushed
≣ ≊Send Publish Enqueue
≣ ≊ DequeueConsume*Receive
Connection
AMQP Client AMQP ServerTCP / IP Network
Connection
Virtual Host
Connections and Channels
TLS
“Shielding”
Channels
Each Channel is Independent:
Effectively, aVirtual Connection
Basic AMQP
Basic AMQP: Connections
Open a Connection to aVirtual Host
Open a Channel
Send a Message
Receive a Message
Close Channel
Close Connection
You only need one channel!
"
#
$
%
&
'
Exchanges Route Messages
Exchanges route Messages to Message Queues
You send messages to an exchange, not a message queue
Exchange
MQ
A
MQ
B
How do Exchanges Route?
Exchange
MQ
A
The Exchange finds a Binding
matching the Routing Key
#
A Binding connects a Routing Key
to one or more Message Queues
$
Every sent message has a
Routing Key
"
The Exchange delivers the
Message to the Message Queue
%
A message queue can be
bound more than once to
one or more exchanges
(
“string”
Types of Exchange
More rarely used exchange types include amq.headers and extensions
Message Queue Name
direct
Like a ‘Map’:All MQs
bound with the
routing key receive
copies of the message
“” (blank)
amq.direct
fanout
Empty String
All MQs bound to the
Exchange receive
copies of the message
amq.fanout
topic
Dotted
Bindings use
globbing expressions
(wildcards) to route
messages to MQs
amq.topic
A message queue can be bound more than once to an exchange;
A message queue can be bound to more than one exchange
But a message queue will only receive a message sent once
Routing Key
Routing
Behaviour
Default
Definitions
Point – to – Point One – to – Many Publish – SubscribeTypical Use
And there is more!
Transactions
More Message
Properties
Custom Message
Properties
Immediate Delivery
Additional Exchange
Types
Auto Deletion
Fine-Grained User
Permissions
Queue
Purging
QoS
Agenda
Introduction to AMQP ! 20 min
Why Message Queuing? ! 25 min
Classic Architecture ! 10 min
A Real Application ! 20 min
Nibbles and Hands–On ! 60 min
The Problem
Intrusion Detection
Lots of Logs
Firewall Monitoring
Performance & Failure
What’s needed
Live Debugging Live Logging Live Statistics
Audit ComplianceStatistics Mining SMS Alerts EMail Alerts
It must not get in the way
Add Hardware
Config
MaintenanceNo Extra Admins
Change Software
Design of the Clients
intrusion
api.daemon.info.charon api.memory api.daemon.sshd api.warn
checksstatisticslog
Content-Type: application/json; charset=utf-8
Timestamp: 2010-11-03T16:45:56.981Z
Priority: Low / High
Type: statistics_2011.10.01.1203
Expiry: 5 mins
api.firewall.warn.in.portscan.tcp
checks
Handling Log Messages
api.*.*.warn
Queue
#
Queue
Timestamp
No Acks
QoS Prefetch
WebSockets
log
MessageId
Routing Key
*.warn
Queue
checks
Statistics
A
rchitecture
is
the
Sam
e
From Checks to Alerts
#
Queue
emergency
Queue
#
Queue
checks
alerts
alerts
Contact Details
not in message
Message Aggregation /
Suppression by alerts
Uses Message
Priority
And debugging ?
A-MQPAdvanced Message Queue Protocol
And debugging ?

Contenu connexe

Tendances

High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQJames Carr
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQPOSSCON
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message brokerANASYS
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introductionShirish Bari
 
Messaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and SpringMessaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and SpringEberhard Wolff
 
Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQKnoldus Inc.
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQDmitriy Samovskiy
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepthWee Keat Chin
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffJAX London
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message BrokerMartin Toshev
 
[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging QueuesNaukri.com
 
Easy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQPEasy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQPRabbit MQ
 
RabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarRabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarErlang Solutions
 
Queues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesQueues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesMartin Tajur
 
Full Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.jsFull Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.jsJavier Arias Losada
 
RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009Paolo Negri
 

Tendances (20)

High powered messaging with RabbitMQ
High powered messaging with RabbitMQHigh powered messaging with RabbitMQ
High powered messaging with RabbitMQ
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Rabbitmq an amqp message broker
Rabbitmq an amqp message brokerRabbitmq an amqp message broker
Rabbitmq an amqp message broker
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
Messaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and SpringMessaging in the Cloud - AMQP, RabbitMQ and Spring
Messaging in the Cloud - AMQP, RabbitMQ and Spring
 
Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQ
 
Introduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQIntroduction to AMQP Messaging with RabbitMQ
Introduction to AMQP Messaging with RabbitMQ
 
Amqp Basic
Amqp BasicAmqp Basic
Amqp Basic
 
RabbitMq
RabbitMqRabbitMq
RabbitMq
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepth
 
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard WolffArchitecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues
 
Easy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQPEasy enterprise application integration with RabbitMQ and AMQP
Easy enterprise application integration with RabbitMQ and AMQP
 
RabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II WebinarRabbitMQ vs Apache Kafka Part II Webinar
RabbitMQ vs Apache Kafka Part II Webinar
 
Rabbitmq basics
Rabbitmq basicsRabbitmq basics
Rabbitmq basics
 
Queues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architecturesQueues queues queues — How RabbitMQ enables reactive architectures
Queues queues queues — How RabbitMQ enables reactive architectures
 
Full Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.jsFull Stack Bus with Javascript, RabbitMQ and Postal.js
Full Stack Bus with Javascript, RabbitMQ and Postal.js
 
RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009RabbitMQ with python and ruby RuPy 2009
RabbitMQ with python and ruby RuPy 2009
 
AMQP with RabbitMQ
AMQP with RabbitMQAMQP with RabbitMQ
AMQP with RabbitMQ
 

En vedette

Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!Debasish Patra
 
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris WolfC* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris WolfDataStax Academy
 
Messaging For the Cloud and Microservices
Messaging For the Cloud and MicroservicesMessaging For the Cloud and Microservices
Messaging For the Cloud and MicroservicesRob Davies
 
Introduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupIntroduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupRoy Russo
 
IPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration AnalysisIPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration AnalysisJesus Rodriguez
 
Open Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptxOpen Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptxOpenStack Foundation
 
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the CloudRob Davies
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)Red Hat Developers
 
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the CloudCassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the CloudDataStax
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantWSO2
 
iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyCharles Moulliard
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerAmazon Web Services
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticityHarish Ganesan
 
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec..."Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...New Relic
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureKim Clark
 
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...SnapLogic
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesApcera
 
Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafkamarius_bogoevici
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaLászló-Róbert Albert
 

En vedette (20)

Een andere kijk op Microservices
Een andere kijk op MicroservicesEen andere kijk op Microservices
Een andere kijk op Microservices
 
Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!Cloud Computing - Everything you wanted to know!
Cloud Computing - Everything you wanted to know!
 
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris WolfC* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
C* Summit 2013: CMB: An Open Message Bus for the Cloud by Boris Wolf
 
Messaging For the Cloud and Microservices
Messaging For the Cloud and MicroservicesMessaging For the Cloud and Microservices
Messaging For the Cloud and Microservices
 
Introduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users GroupIntroduction to Akka - Atlanta Java Users Group
Introduction to Akka - Atlanta Java Users Group
 
IPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration AnalysisIPaaS: Cloud Integration Analysis
IPaaS: Cloud Integration Analysis
 
Open Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptxOpen Source Versions of Amazon's SNS and SQS.pptx
Open Source Versions of Amazon's SNS and SQS.pptx
 
Integration in the Cloud
Integration in the CloudIntegration in the Cloud
Integration in the Cloud
 
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
IPaaS 2.0: Fuse Integration Services (Robert Davies & Keith Babo)
 
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the CloudCassandra Community Webinar: CMB - An Open Message Bus for the Cloud
Cassandra Community Webinar: CMB - An Open Message Bus for the Cloud
 
Summer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is importantSummer School 2013 - What is iPaaS and why it is important
Summer School 2013 - What is iPaaS and why it is important
 
iPaas with Fuse Fabric Technology
iPaas with Fuse Fabric TechnologyiPaas with Fuse Fabric Technology
iPaas with Fuse Fabric Technology
 
Continuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and DockerContinuous Integration with Amazon ECS and Docker
Continuous Integration with Amazon ECS and Docker
 
The art of infrastructure elasticity
The art of infrastructure elasticityThe art of infrastructure elasticity
The art of infrastructure elasticity
 
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec..."Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
"Containers, DevOps, Microservices and Kafka: Tools used by our Monolith wrec...
 
MuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration ArchitectureMuCon 2015 - Microservices in Integration Architecture
MuCon 2015 - Microservices in Integration Architecture
 
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
Webinar: iPaaS in the Enterprise - What to Look for in a Cloud Integration Pl...
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and MicroservicesNATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
Developing real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and KafkaDeveloping real-time data pipelines with Spring and Kafka
Developing real-time data pipelines with Spring and Kafka
 
Devoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with KafkaDevoxx Morocco 2016 - Microservices with Kafka
Devoxx Morocco 2016 - Microservices with Kafka
 

Similaire à StormMQ Introduction to AMQP, Dublin

Elegant Systems Integration w/ Apache Camel
Elegant Systems Integration w/ Apache CamelElegant Systems Integration w/ Apache Camel
Elegant Systems Integration w/ Apache CamelPradeep Elankumaran
 
Down the RabbitMQ Hole
Down the RabbitMQ HoleDown the RabbitMQ Hole
Down the RabbitMQ HoleBizTalk360
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introductionSitg Yao
 
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1 von gosling
 
Js remote conf
Js remote confJs remote conf
Js remote confBart Wood
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQRavi Yogesh
 
Lindsay distributed geventzmq
Lindsay distributed geventzmqLindsay distributed geventzmq
Lindsay distributed geventzmqRobin Xiao
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseKieran Kunhya
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考えるOhyama Hiroyasu
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Ontico
 
WCF and WF in Framework 3.5
WCF and WF in Framework 3.5WCF and WF in Framework 3.5
WCF and WF in Framework 3.5ukdpe
 
Big data messaging
Big data messagingBig data messaging
Big data messagingDataArt
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Guido Schmutz
 
Kafka Basic For Beginners
Kafka Basic For BeginnersKafka Basic For Beginners
Kafka Basic For BeginnersRiby Varghese
 
Low latency microservices in java QCon New York 2016
Low latency microservices in java   QCon New York 2016Low latency microservices in java   QCon New York 2016
Low latency microservices in java QCon New York 2016Peter Lawrey
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTHenrik Sjöstrand
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfOrtus Solutions, Corp
 

Similaire à StormMQ Introduction to AMQP, Dublin (20)

Elegant Systems Integration w/ Apache Camel
Elegant Systems Integration w/ Apache CamelElegant Systems Integration w/ Apache Camel
Elegant Systems Integration w/ Apache Camel
 
Down the RabbitMQ Hole
Down the RabbitMQ HoleDown the RabbitMQ Hole
Down the RabbitMQ Hole
 
Rabbit MQ introduction
Rabbit MQ introductionRabbit MQ introduction
Rabbit MQ introduction
 
Mom those things v1
Mom those things v1 Mom those things v1
Mom those things v1
 
Js remote conf
Js remote confJs remote conf
Js remote conf
 
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQAn Introduction to the Message Queuing Technology & IBM WebSphere MQ
An Introduction to the Message Queuing Technology & IBM WebSphere MQ
 
WebSphere MQ introduction
WebSphere MQ introductionWebSphere MQ introduction
WebSphere MQ introduction
 
Lindsay distributed geventzmq
Lindsay distributed geventzmqLindsay distributed geventzmq
Lindsay distributed geventzmq
 
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP ShowcaseGround-Cloud-Cloud-Ground - NAB 2022 IP Showcase
Ground-Cloud-Cloud-Ground - NAB 2022 IP Showcase
 
IBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQIBM MQ vs Apache ActiveMQ
IBM MQ vs Apache ActiveMQ
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える
 
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
Построение распределенной системы сбора данных с помощью RabbitMQ, Alvaro Vid...
 
WCF and WF in Framework 3.5
WCF and WF in Framework 3.5WCF and WF in Framework 3.5
WCF and WF in Framework 3.5
 
AMQP for phpMelb
AMQP for phpMelbAMQP for phpMelb
AMQP for phpMelb
 
Big data messaging
Big data messagingBig data messaging
Big data messaging
 
Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !Apache Kafka - Scalable Message-Processing and more !
Apache Kafka - Scalable Message-Processing and more !
 
Kafka Basic For Beginners
Kafka Basic For BeginnersKafka Basic For Beginners
Kafka Basic For Beginners
 
Low latency microservices in java QCon New York 2016
Low latency microservices in java   QCon New York 2016Low latency microservices in java   QCon New York 2016
Low latency microservices in java QCon New York 2016
 
Low Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTTLow Latency Mobile Messaging using MQTT
Low Latency Mobile Messaging using MQTT
 
Enterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdfEnterprise Messaging with RabbitMQ.pdf
Enterprise Messaging with RabbitMQ.pdf
 

Dernier

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking MenDelhi Call girls
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 

Dernier (20)

Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 

StormMQ Introduction to AMQP, Dublin

  • 1. Introduction to Message Queuing raphael.cohn@stormmq.com
  • 2. Agenda A Real Application ! 20 min Nibbles and Hands–On ! 60 min Introduction to AMQP ! 20 min Why Message Queuing? ! 25 min Classic Architecture ! 10 min
  • 3. History of Message Queuing Manual Telegraphy Machine Assisted Telegraphy 1920s1911 - 192019th Century 1900s Telegrams sent using “Store and Forward” 1900 1930s
  • 4. History of Message Queuing Telcos UseElectronic Telegraphy 1950s1940s 1960s IBM System/360 with BTAM & QTAM Message Switching 1964 First Electronic Mail Solutions 1965 Banking Users 1970s IBM TCAM which is the first true solution Retired 1990! 1971
  • 5. History of Message Queuing l FMCG & Utilities 1990s MQSeries phereMQ) 92 Corporates Large Websites YOU Noughties Today Sun Release Java JMS, Reinvigorating Enterprise Messaging 2001 AMQP Working Group Formed by Investment Banks 2006 Cloud Enables and Drives StormMQ Adoption 2009
  • 6. The Integration Tag Soup WS –File Transfer !"#$%&'(#)#*#+%+ Message Queuing SOAP EMail SMTP FTP RSYNC NTFS !','- !).$%&'/$.0%&1$%+ 234%5)6!%$7%$ SOA Message Orientated Middleware JMS MQ MQSeries AMQP Amazon SQS Tibco StormMQ RabbitMQ HTTP TCP/IP DCE / RPC CORBA DCOM REST RMI XML-RPC .NET Remoting Remote Procedure Call
  • 7. The Integration Tag Soup WS –File Transfer !"#$%&'(#)#*#+%+ Message Queuing SOAP EMail SMTP FTP RSYNC NTFS !','- !).$%&'/$.0%&1$%+ 234%5)6!%$7%$ SOA Message Orientated Middleware JMS MQ MQSeries AMQP Amazon SQS Tibco StormMQ RabbitMQ HTTP TCP/IP DCE / RPC CORBA DCOM REST RMI XML-RPC .NET Remoting Remote Procedure Call
  • 8. The Integration Tag Soup Message Queuing
  • 9. Under Examination, though Deployment Intimate System Knowledge Configuration Admin File Transfer !"#$%&'(#)#*#+%+ Remote Procedure Call Don’tWork in the Cloud Scaling
  • 10. Ideal: Message Queuing Systems are “loosely-coupled” Message Queuing Systems don’t know each other
  • 11. Why Use it: Loose Coupling Billing Catalogue Shipping S-a-a-S Inventory How do we connect them, without one outage or system change taking everything down like a pack of cards?
  • 12. Why Use it: Loose Coupling Billing Catalogue Shipping S-a-a-S Inventory How do we connect them, without one outage or system change taking everything down like a pack of cards? Message Queuing lets Systems and Components exchange data, events, commands and actions with one another with no explicit knowledge or need for them to be online
  • 13. It should be ideal for the cloud
  • 14. It should be ideal for the cloud
  • 15. ! ! ! Until today, messaging is … (ZeroMQ) (SQS uses HTTP) (MSMQ uses COM) (memcached) (Java JMS uses Source) (MQSeries / WebsphereMQ) (Talarian, Rendezvous, etc) Platform Restricted BespokeProprietary
  • 16. ! ! ! Until today, messaging is … (ZeroMQ) (SQS uses HTTP) (MSMQ uses COM) (memcached) (Java JMS uses Source) (MQSeries / WebsphereMQ) (Talarian, Rendezvous, etc)
  • 17. Why is it Hell? You need more staff And moneyYou need bridge technology
  • 18. Why is it Hell? You need more staff And moneyYou need bridge technology
  • 20. A-MQPAdvanced Message Queue Protocol However, there’s a solution
  • 21. However, AMQP fixes this A common wire-level binary format and protocol An explicit definition of a server (aka broker)’s semantics Open Means Interoperable
  • 22. That is good … “AMQP will be to Messaging what HTTP was to theWeb” MRG Clients run on any Platform Vendors are Interoperable
  • 23. That is good … “AMQP will be to Messaging what HTTP was to theWeb” MRG Clients run on any Platform Vendors are Interoperable 64K
  • 24. From Anywhere to Anywhere
  • 25. From Anywhere to Anywhere
  • 26. EddieVelez Quick Recap ✓ The fifth male member of the A-Team, Frankie, was played by Question Message Queuing connects systems and components. Is it ideal for the cloud? Does Loose-Coupling make individual systems more likely to suffer outages? Yes No AMQP is Open. This makes it suitable for programming in C and Javascript? ! ✓
  • 27. Agenda Introduction to AMQP ! 20 min Why Message Queuing? ! 25 min Classic Architecture ! 10 min A Real Application ! 20 min Pizza and Hands–On ! 60 min
  • 28. Store and Forward Billing “Could you send me a duplicate of my bill please” REST StormMQ Messaging Billing !
  • 29. Fire and Forget Shipping “Too many orders.The website is running like a dog.” SQL Push SQL Pull StormMQ Messaging Shipping
  • 30. One-To-Many “There’s a new widget in the Catalogue: Tell all the systems.” Catalogue Shipping S-a-a-S Inventory File Transfer ETL
  • 31. One-To-Many “There’s a new widget in the Catalogue: Tell all the systems.” Catalogue Shipping S-a-a-S Inventory StormMQ Messaging
  • 32. StormMQ Messaging Round-Robin Billing “How do we easily scale a massive batch job like Billing?” EMail BillGenerate
  • 33. StormMQ Messaging Publish-Subscribe (“Topics”) “Shipments Sent, Delivered and Received” Shipping S-a-a-S Inventory Billing RIASent Sent or Returned
  • 34. 22 Web Sockets Architecture Copyright © 2010, Kaazing Corporation,. All rights reserved.
  • 35. Agenda Introduction to AMQP ! 20 min Why Message Queuing? ! 25 min Classic Architecture ! 10 min A Real Application ! 20 min Nibbles and Hands–On ! 60 min
  • 36. Messaging: Which Jargon? EMail (SMTP, POP3, IMAP) VoIP (VoiceMail, XMPP) Texting (SMS) Instant Messaging (ICQ, MSN, Jabber) Twitter Enterprise Service Bus (ESB) Dynamic OO Languages (eg Ruby) Message Queuing (MQ) Message Queuing (MQ) What do we mean by Messaging?
  • 37. Essential Terms Message Queue What’s a Message? Envelope Payload Header
  • 38. Essential Terms *Strictly speaking a receiver polls for messages a consumer has messages pushed ≣ ≊Send Publish Enqueue ≣ ≊ DequeueConsume*Receive
  • 39. Connection AMQP Client AMQP ServerTCP / IP Network Connection Virtual Host Connections and Channels TLS “Shielding” Channels Each Channel is Independent: Effectively, aVirtual Connection
  • 40. Basic AMQP Basic AMQP: Connections Open a Connection to aVirtual Host Open a Channel Send a Message Receive a Message Close Channel Close Connection You only need one channel! " # $ % & '
  • 41. Exchanges Route Messages Exchanges route Messages to Message Queues You send messages to an exchange, not a message queue Exchange MQ A MQ B
  • 42. How do Exchanges Route? Exchange MQ A The Exchange finds a Binding matching the Routing Key # A Binding connects a Routing Key to one or more Message Queues $ Every sent message has a Routing Key " The Exchange delivers the Message to the Message Queue % A message queue can be bound more than once to one or more exchanges ( “string”
  • 43. Types of Exchange More rarely used exchange types include amq.headers and extensions Message Queue Name direct Like a ‘Map’:All MQs bound with the routing key receive copies of the message “” (blank) amq.direct fanout Empty String All MQs bound to the Exchange receive copies of the message amq.fanout topic Dotted Bindings use globbing expressions (wildcards) to route messages to MQs amq.topic A message queue can be bound more than once to an exchange; A message queue can be bound to more than one exchange But a message queue will only receive a message sent once Routing Key Routing Behaviour Default Definitions Point – to – Point One – to – Many Publish – SubscribeTypical Use
  • 44. And there is more! Transactions More Message Properties Custom Message Properties Immediate Delivery Additional Exchange Types Auto Deletion Fine-Grained User Permissions Queue Purging QoS
  • 45. Agenda Introduction to AMQP ! 20 min Why Message Queuing? ! 25 min Classic Architecture ! 10 min A Real Application ! 20 min Nibbles and Hands–On ! 60 min
  • 46. The Problem Intrusion Detection Lots of Logs Firewall Monitoring Performance & Failure
  • 47. What’s needed Live Debugging Live Logging Live Statistics Audit ComplianceStatistics Mining SMS Alerts EMail Alerts
  • 48. It must not get in the way Add Hardware Config MaintenanceNo Extra Admins Change Software
  • 49. Design of the Clients intrusion api.daemon.info.charon api.memory api.daemon.sshd api.warn checksstatisticslog Content-Type: application/json; charset=utf-8 Timestamp: 2010-11-03T16:45:56.981Z Priority: Low / High Type: statistics_2011.10.01.1203 Expiry: 5 mins api.firewall.warn.in.portscan.tcp
  • 50. checks Handling Log Messages api.*.*.warn Queue # Queue Timestamp No Acks QoS Prefetch WebSockets log MessageId Routing Key *.warn Queue checks Statistics A rchitecture is the Sam e
  • 51. From Checks to Alerts # Queue emergency Queue # Queue checks alerts alerts Contact Details not in message Message Aggregation / Suppression by alerts Uses Message Priority
  • 53. A-MQPAdvanced Message Queue Protocol And debugging ?