SlideShare a Scribd company logo
Decouple & Scale with Enterprise
Messaging
WHO AM I?
• Luis Majano - Computer Engineer	

• Born in El Salvador ------------------>	

• Architecture + Software Design	

• CEO of Ortus Solutions	

• Manager of the IECFUG
(www.iecfug.com)	

• Adobe Community Professional	

• Creator of all things Box: 

ColdBox, ContentBox,WireBox....
AGENDA
• RPC Calls	

• What is Messaging	

• Implementations	

• AMQP Protocol	

• RabbitMQ	

• Nice Demo
RPC STYLE CALLS
CFC CFC
CFC
• Blocks Request Usage	

• Even if you do them Asynchronous, messages only 1 receiver	

• Sender always knows about receiver	

• Receiver knows about sender	

• How can we decouple knowledge?	

• How can we apply messaging patterns to our apps?
PROBLEMS WITH RPC
Messaging (EMS)
Producer
Consumer Consumer Consumer
Messaging Bus
Can be
any system or
language
Can be
any system or
language
Doesn’t
care about
consumers
Asynchronous
Does not get a
response
• Producers don’t care about consumers -> Decouple	

• Cross platforms-technologies-OS, you name it -> Flexibility	

• Event Driven Programming -> Scalability	

• Queueing for later delivery	

• Asynchronous	

• Load balancing	

• Hulkyfied services
BENEFITS OF MESSAGING
Usages and Patterns
Work QueuesMessaging
Publish/Subscribe Topics/Routing
Protocols
JMS AMQP STOMP
AMQP - www.amqp.org
• Advanced Message Queuing Protocol	

• != JMS	

• Standard binary protocol	

• Exchanges	

• Queuing	

• Routing	

• Reliable	

• Secure	

• Several Implementations
RabbitMQ
ActiveMQ
Qpid
StormMQ
• AMQP Messaging Broker	

• www.rabbitmq.com	

• Built on erlang like Couchbase NoSQL	

• Extremely fast, reliable and secure	

• Languages: c#, erlang, java, python, ruby, node, etc	

• Simple concept	

• Accepts and forwards messages	

• Its like a post box, post office and postman
HOW IT WORKS?
Producer
Message	

(Body+Routing Key)
Exchange (Bindings via Routing Key)
Body = binary, json,
anything
stock.

prices
stock.

run
log.

error
cluster
Queues are bound to exchanges with patterns
Routing key =
Bindings
Queues
• Direct
• Routing key = queue name	

• No mapping or extra fluff just a passthrough	

• Similar to JMS	

• Topic
• Binding pattern (routing key) is match against the queue name	

• Not full regex	

• Ex: log.*, log#	

• Not like JMSTopics, forget JMS, this is not JMS	

• Fanout + More
EXCHANGETYPES
LOAD BALANCING + ACK
Worker
Queue
Consumer
Consumer
Consumer
Messages are
round-robin
to each
consumer
Consumer
need to ack
PUB-SUB EXAMPLE
DEMOTIME
• Java Producer	

• Java Consumer	

• CFML Consumer	

• NodeJS Consumer	

• JavaScript Consumer	

• CFML Producer
Q & A
• RabbitMQ In Action Book	

• http://www.rabbitmq.com	

• http://tryrabbitmq.com/ 	

• https://github.com/RabbitMQSimulator/RabbitMQSimulator	

• http://koo.fi/blog/2013/02/18/web-messaging-with-rabbitmq-web-stomp-and-
sockjs/	

• https://github.com/robharrop/presentations.git

More Related Content

PDF
Multiply like rabbits with rabbit mq
PDF
CBDW2014 - Down the RabbitMQ hole with ColdFusion
PDF
EUC2015 - Load testing XMPP servers with Plain Old Erlang
PPT
easyM2R
PPTX
Making Symfony Services async with RabbitMq (and more Symfony)
PDF
Distributing OSGi
KEY
Zero mq logs
ODP
Real-world Experiences in Scala
Multiply like rabbits with rabbit mq
CBDW2014 - Down the RabbitMQ hole with ColdFusion
EUC2015 - Load testing XMPP servers with Plain Old Erlang
easyM2R
Making Symfony Services async with RabbitMq (and more Symfony)
Distributing OSGi
Zero mq logs
Real-world Experiences in Scala

What's hot (19)

KEY
CPAN Gems From The Far East
PPTX
Day 9 - PostgreSQL Application Architecture
PPTX
Bccon use notes objects in memory and other useful
PDF
Beyond Apache: Faster Web Servers
PDF
ZaloPay Merchant Platform on K8S on-premise
PPTX
Tomas Urbonaitis "Introduction to asynchronous persistent messaging with NSer...
PDF
Linux Hosting Training Course Level 1-2
KEY
Tech4Africa - Tuning LAMP, and beyond LAMP
PDF
How to Make Your Code OSGi Friendly Without Depending on OSGi - Neil Bartlett
PPTX
Rabbits, indians and... Symfony meets queueing brokers
PDF
Asynchronous Programming in Kotlin with Coroutines
PDF
A Gentle Introduction to Functions-as-a-Service
PPTX
JRuby deployments
PDF
Host and Boast: Best Practices for Magento Hosting | Imagine 2013 Technolog…
PPTX
Node.js
PDF
Building a bakery of Windows servers with Packer - London WinOps
PDF
Save Time by Managing WordPress from the Command Line
PPTX
Repeating History...On Purpose...with Elixir
KEY
TSSJS 2011 - JRuby
CPAN Gems From The Far East
Day 9 - PostgreSQL Application Architecture
Bccon use notes objects in memory and other useful
Beyond Apache: Faster Web Servers
ZaloPay Merchant Platform on K8S on-premise
Tomas Urbonaitis "Introduction to asynchronous persistent messaging with NSer...
Linux Hosting Training Course Level 1-2
Tech4Africa - Tuning LAMP, and beyond LAMP
How to Make Your Code OSGi Friendly Without Depending on OSGi - Neil Bartlett
Rabbits, indians and... Symfony meets queueing brokers
Asynchronous Programming in Kotlin with Coroutines
A Gentle Introduction to Functions-as-a-Service
JRuby deployments
Host and Boast: Best Practices for Magento Hosting | Imagine 2013 Technolog…
Node.js
Building a bakery of Windows servers with Packer - London WinOps
Save Time by Managing WordPress from the Command Line
Repeating History...On Purpose...with Elixir
TSSJS 2011 - JRuby
Ad

Viewers also liked (14)

PPTX
Enterprise mobility
PPT
Apache ActiveMQ - Enterprise messaging in action
PPTX
Enterprise messaging with jms
PDF
A Practical Guide for Selecting an Enterprise Messaging Platforms
PPTX
Making communication across boundaries simple with Azure Service Bus
PPTX
Communication et Collaboration en Entreprise
PDF
Are Enterprise Messaging Platforms à la Slack the Future Collaboration Platfo...
PDF
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
PDF
Decouple and scale with enterprise messaging
PDF
Messaging is Eating the World (by Edith Yeung)
PDF
REST vs. Messaging For Microservices
PDF
Mobile Enterprise Trends 2015 - Emergence Capital
PDF
Conférence portant sur l'optimisation de l'usage de l'e-mail et sur le droit ...
ODP
Enterprise Mobility Solutions & Services
Enterprise mobility
Apache ActiveMQ - Enterprise messaging in action
Enterprise messaging with jms
A Practical Guide for Selecting an Enterprise Messaging Platforms
Making communication across boundaries simple with Azure Service Bus
Communication et Collaboration en Entreprise
Are Enterprise Messaging Platforms à la Slack the Future Collaboration Platfo...
MESSAGERIE EXCHANGE 2013 SOUS WINDOWS SERVEUR 2012
Decouple and scale with enterprise messaging
Messaging is Eating the World (by Edith Yeung)
REST vs. Messaging For Microservices
Mobile Enterprise Trends 2015 - Emergence Capital
Conférence portant sur l'optimisation de l'usage de l'e-mail et sur le droit ...
Enterprise Mobility Solutions & Services
Ad

Similar to Enterprise messaging (20)

PDF
Multiply like rabbits with rabbit mq
PDF
Multi-platform Enterprise Messaging with RabbitMQ
PDF
Enterprise Messaging with RabbitMQ.pdf
KEY
Messaging, interoperability and log aggregation - a new framework
PDF
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
PDF
Messaging with RabbitMQ and AMQP
KEY
Real time system_performance_mon
PDF
PDF
Messaging for IoT
PDF
The Future of Messaging: RabbitMQ and AMQP
PDF
High Performance Systems in Go - GopherCon 2014
PDF
Scaling with Symfony - PHP UK
PDF
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
PPTX
A deep dive into python and it's position in the programming landscape.pptx
PDF
Follow the White Rabbit - Message Queues with PHP
PDF
Getting Started with BoxLang - CFCamp 2025.pdf
PPTX
Go: What's Different ?
PDF
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
PDF
Life in a Queue - Using Message Queue with django
PDF
EuroMPI 2013 presentation: McMPI
Multiply like rabbits with rabbit mq
Multi-platform Enterprise Messaging with RabbitMQ
Enterprise Messaging with RabbitMQ.pdf
Messaging, interoperability and log aggregation - a new framework
ITB2024 - Keynote Day 1 - Ortus Solutions.pdf
Messaging with RabbitMQ and AMQP
Real time system_performance_mon
Messaging for IoT
The Future of Messaging: RabbitMQ and AMQP
High Performance Systems in Go - GopherCon 2014
Scaling with Symfony - PHP UK
Architecture | The Future of Messaging: RabbitMQ and AMQP | Eberhard Wolff
A deep dive into python and it's position in the programming landscape.pptx
Follow the White Rabbit - Message Queues with PHP
Getting Started with BoxLang - CFCamp 2025.pdf
Go: What's Different ?
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Life in a Queue - Using Message Queue with django
EuroMPI 2013 presentation: McMPI

More from ColdFusionConference (20)

PDF
Api manager preconference
PDF
PDF
Building better SQL Server Databases
PDF
API Economy, Realizing the Business Value of APIs
PDF
Don't just pdf, Smart PDF
PDF
Crafting ColdFusion Applications like an Architect
PDF
Security And Access Control For APIS using CF API Manager
PDF
Monetizing Business Models: ColdFusion and APIS
PDF
Become a Security Rockstar with ColdFusion 2016
PDF
ColdFusion in Transit action
PDF
Developer Insights for Application Upgrade to ColdFusion 2016
PDF
Where is cold fusion headed
PDF
ColdFusion Keynote: Building the Agile Web Since 1995
PDF
Instant ColdFusion with Vagrant
PPT
Restful services with ColdFusion
PDF
Super Fast Application development with Mura CMS
PDF
Build your own secure and real-time dashboard for mobile and web
PDF
Why Everyone else writes bad code
PDF
Securing applications
PDF
Testing automaton
Api manager preconference
Building better SQL Server Databases
API Economy, Realizing the Business Value of APIs
Don't just pdf, Smart PDF
Crafting ColdFusion Applications like an Architect
Security And Access Control For APIS using CF API Manager
Monetizing Business Models: ColdFusion and APIS
Become a Security Rockstar with ColdFusion 2016
ColdFusion in Transit action
Developer Insights for Application Upgrade to ColdFusion 2016
Where is cold fusion headed
ColdFusion Keynote: Building the Agile Web Since 1995
Instant ColdFusion with Vagrant
Restful services with ColdFusion
Super Fast Application development with Mura CMS
Build your own secure and real-time dashboard for mobile and web
Why Everyone else writes bad code
Securing applications
Testing automaton

Recently uploaded (20)

PDF
medical staffing services at VALiNTRY
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PPTX
Transform Your Business with a Software ERP System
PDF
Understanding Forklifts - TECH EHS Solution
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PPTX
CHAPTER 2 - PM Management and IT Context
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
2025 Textile ERP Trends: SAP, Odoo & Oracle
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PPTX
history of c programming in notes for students .pptx
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
Online Work Permit System for Fast Permit Processing
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 41
PPTX
Odoo POS Development Services by CandidRoot Solutions
medical staffing services at VALiNTRY
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Transform Your Business with a Software ERP System
Understanding Forklifts - TECH EHS Solution
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
CHAPTER 2 - PM Management and IT Context
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
2025 Textile ERP Trends: SAP, Odoo & Oracle
Odoo Companies in India – Driving Business Transformation.pdf
history of c programming in notes for students .pptx
VVF-Customer-Presentation2025-Ver1.9.pptx
Design an Analysis of Algorithms II-SECS-1021-03
Operating system designcfffgfgggggggvggggggggg
Online Work Permit System for Fast Permit Processing
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
Internet Downloader Manager (IDM) Crack 6.42 Build 41
Odoo POS Development Services by CandidRoot Solutions

Enterprise messaging

  • 1. Decouple & Scale with Enterprise Messaging
  • 2. WHO AM I? • Luis Majano - Computer Engineer • Born in El Salvador ------------------> • Architecture + Software Design • CEO of Ortus Solutions • Manager of the IECFUG (www.iecfug.com) • Adobe Community Professional • Creator of all things Box: 
 ColdBox, ContentBox,WireBox....
  • 3. AGENDA • RPC Calls • What is Messaging • Implementations • AMQP Protocol • RabbitMQ • Nice Demo
  • 5. • Blocks Request Usage • Even if you do them Asynchronous, messages only 1 receiver • Sender always knows about receiver • Receiver knows about sender • How can we decouple knowledge? • How can we apply messaging patterns to our apps? PROBLEMS WITH RPC
  • 6. Messaging (EMS) Producer Consumer Consumer Consumer Messaging Bus Can be any system or language Can be any system or language Doesn’t care about consumers Asynchronous Does not get a response
  • 7. • Producers don’t care about consumers -> Decouple • Cross platforms-technologies-OS, you name it -> Flexibility • Event Driven Programming -> Scalability • Queueing for later delivery • Asynchronous • Load balancing • Hulkyfied services BENEFITS OF MESSAGING
  • 8. Usages and Patterns Work QueuesMessaging Publish/Subscribe Topics/Routing
  • 10. AMQP - www.amqp.org • Advanced Message Queuing Protocol • != JMS • Standard binary protocol • Exchanges • Queuing • Routing • Reliable • Secure • Several Implementations RabbitMQ ActiveMQ Qpid StormMQ
  • 11. • AMQP Messaging Broker • www.rabbitmq.com • Built on erlang like Couchbase NoSQL • Extremely fast, reliable and secure • Languages: c#, erlang, java, python, ruby, node, etc • Simple concept • Accepts and forwards messages • Its like a post box, post office and postman
  • 12. HOW IT WORKS? Producer Message (Body+Routing Key) Exchange (Bindings via Routing Key) Body = binary, json, anything stock.
 prices stock.
 run log.
 error cluster Queues are bound to exchanges with patterns Routing key = Bindings Queues
  • 13. • Direct • Routing key = queue name • No mapping or extra fluff just a passthrough • Similar to JMS • Topic • Binding pattern (routing key) is match against the queue name • Not full regex • Ex: log.*, log# • Not like JMSTopics, forget JMS, this is not JMS • Fanout + More EXCHANGETYPES
  • 14. LOAD BALANCING + ACK Worker Queue Consumer Consumer Consumer Messages are round-robin to each consumer Consumer need to ack
  • 16. DEMOTIME • Java Producer • Java Consumer • CFML Consumer • NodeJS Consumer • JavaScript Consumer • CFML Producer
  • 17. Q & A • RabbitMQ In Action Book • http://www.rabbitmq.com • http://tryrabbitmq.com/ • https://github.com/RabbitMQSimulator/RabbitMQSimulator • http://koo.fi/blog/2013/02/18/web-messaging-with-rabbitmq-web-stomp-and- sockjs/ • https://github.com/robharrop/presentations.git