RabbitMQ: What’s New & Changing after 10 Years of Application Messaging?

VMware Tanzu
VMware TanzuVMware Tanzu
RabbitMQ: What’s New &
Changing after 10 Years of
Application messaging
What is RabbitMQ?
RabbitMQ is an open source message broker and queueing server that can be used to let
disparate applications share data via a common protocol, or to simply queue jobs for
processing by distributed workers.
Agenda
1.  Brief history of RabbitMQ
2.  Common use cases for RabbitMQ
3.  RabbitMQ in Microservices Architectures
4.  Roadmap
Agenda
1.  Brief history of RabbitMQ
2.  Common use cases for RabbitMQ
3.  RabbitMQ in Microservices Architectures
4.  Roadmap
AMQP spec and Erlang language are key to RabbitMQ’s DNA
RabbitMQ Was First Released 10 Years Ago
2004 AMQP
standard
defined
2006 First
version
RabbitMQ
2007 Rabbit
Technologies
founded
2010
Acquisition by
VMWare
2013 Becomes
part of Pivotal
Software
2014 First
release on
Cloud Foundry
2017 10th
Anniversary of
first OSS release
RabbitMQ is the most widely used & deployed open source message queue
10 Years of Serving Developers
Frequently searched for... Frequently visited...
Decoupling applications through messaging is a growing need
RabbitMQ Adoption Continues to Climb
Consistently
increasing
job market...
76% YOY increase in downloads
Established
user
community...
Agenda
1.  Brief history of RabbitMQ
2.  Common use cases for RabbitMQ
3.  RabbitMQ in Microservices Architectures
4.  Roadmap
Typical application messaging patterns deployed by developers
Common Use Cases for RabbitMQ
●  Decouple apps via async services
○  Use queues as buffers
○  Scale app components individually
○  Enable microservices - RMQ is
small/light enough
●  Routing and distributing
●  Load balancing
●  Cross language barriers using
AMQP standard protocol
Application messaging focused for developers
What Makes RabbitMQ Unique
●  Open standard protocol
●  Open source license
●  Language independent
●  Authentication (e.g. LDAP)
●  Authorisation
●  Massive client ecosystem
●  Get started quickly
●  Grow organically
●  Suited to cloud deployment
All major operating systems, clouds, and programming languages are supported
Common Ways to Consume RabbitMQ
More than 100
clients, integrations,
& plugins from the
RabbitMQ
community
Agenda
1.  Brief history of RabbitMQ
2.  Common use cases for RabbitMQ
3.  RabbitMQ in Microservices Architectures
4.  Roadmap
RabbitMQ Domain-Specific Messaging Fits Cloud-Native Approach
Decoupled Messaging Becomes MSA Requirement
Designed for easy adoption by
developers
●  For asynchronous enterprise
integration patterns.
●  When service buses are too heavy
weight.
●  Decouples related applications
Fits microservice architecture
needs
●  Highly-distributed nature eschews
centralized integration.
●  Integration and communication
channels must be decoupled.
●  Developers can choose the best
messaging
●  RabbitMQ ease of adoption shines for
many (but not all) patterns.
Message Brokers in Microservices Architecture
Example MSA Scenario Implemented with RabbitMQ
Agenda
1.  Brief history of RabbitMQ
2.  Common use cases for RabbitMQ
3.  RabbitMQ in Microservices Architectures
4.  Roadmap
2016 Review
Improvements in Internal Processes
●  Ongoing Staff investments
●  CI - Pivotal Tracker, Concourse
●  Erlang Common Test
●  EUnit
●  Wider distribution
○  GitHub, Bintray, Package Cloud
○  More ways to consume RMQ
●  Wider automated testing
○  Ubuntu, Debian, CentOS,
Fedora
○  More client libs for protocols
●  Client version decoupling
●  Ongoing community participation
Three main themes in vision
RabbitMQ Development Direction
●  Operability
○  Admin ease of use (non-developer)
○  Safety Policies
○  Security and compliance
●  Scalability
○  RabbitMQ as a service
○  Large clusters
○  Predictable behavior and failure modes
●  Expansion and support of programming languages and tools
○  Deeper into core languages and Spring
○  Quality support for community clients
Enablement and empowerment of administrators
Operability
In 3.5.x, 3.6
●  Lazy Queues
●  Tunable Flow Control
●  Event Exchange (devops)
In 3.7
●  New config format (non-Erlang)
●  New CLI tools (Elixir)
●  Clustering
○  Pluggable peer discovery
○  Easy restarts
●  Simplified/flexible logging
In 3.7 (continued)
●  Operator policies & limits
○  Connections, channels, queues
●  TLS/x509 Cert Trust Store
●  OAuth 2 and OpenID Connect
●  Proxy protocol support
●  Autocluster improvements
3.8 and beyond
●  Toxic message handling
●  Pure IPv6 support
●  Mixed version clusters (downtime)
Stability and performance in extreme environments
Scalability
In 3.5.x, 3.6
●  Faster Sync of mirrors - batched
●  Reduced RAM usage
●  LDAP connection pooling
●  Sharding
In 3.7
●  Mgmt Plugin refactor
○  Distributed
○  Parallelized
●  Increased automated testing (internal)
●  Long-running test environments (internal)
●  Refactor vs new feature balance weighting
3.8 and beyond
●  Message Store: write-ahead
●  StatsDB: disk storage
●  RAFT-based consensus for queue
mirrors
●  Reduce dependency on Erlang Mnesia
DB
Expansion and support of programming languages and tools
Client, protocol, and plugin ecosystem
In 3.5.x, 3.6, 3.7
●  WebSTOMP
●  WebMQTT
●  JMS Client
○  Donated by Pivotal
○  Integrated into RMQ core (JMS
Topic Exch)
●  Major Java client update
○  Logging and metrics
○  Spring - cross development
■  Reactor - NIO support
■  Spring Boot - client metrics
■  Spring AMQP - new config
options
●  Major .NET client update
○  .NET Core support
○  Async / await
●  New iOS and MacOS client
3.8 and beyond
●  AMQP 1.0 improvements
○  New AMQP 1.0 client
○  Cross-protocol Shovel
○  Cross-protocol Federation
●  MQTT improvements
Two avenues to obtain RabbitMQ from Pivotal
Commercial Support for RabbitMQ from Pivotal
Pivotal App Suite
●  Sold via processor core
equivalent
●  Includes option to use OSS or
Pivotal-branded versions
●  Pivotal Premier Support (24x7)
●  Full OSS support
●  Developer support also available
RabbitMQ for Pivotal Cloud
Foundry
●  Sold via service instance (cluster)
●  Provided with PCF Services Suite
●  Shared cluster today, dedicated instances
coming
●  Includes support to run outside PCF as well
is within PCF as an automated service
RabbitMQ: What’s New & Changing after 10 Years of Application Messaging?
1 of 23

Recommended

LIVE DEMO: Fraud Analytics by
LIVE DEMO: Fraud AnalyticsLIVE DEMO: Fraud Analytics
LIVE DEMO: Fraud AnalyticsVMware Tanzu
565 views4 slides
Ignite Talk: Continuous Delivery: Why Everyone Should Do It by
Ignite Talk: Continuous Delivery: Why Everyone Should Do ItIgnite Talk: Continuous Delivery: Why Everyone Should Do It
Ignite Talk: Continuous Delivery: Why Everyone Should Do ItVMware Tanzu
458 views22 slides
Welcome by
WelcomeWelcome
WelcomeVMware Tanzu
324 views9 slides
Enabling Continuous Delivery by
Enabling Continuous DeliveryEnabling Continuous Delivery
Enabling Continuous DeliveryVMware Tanzu
549 views34 slides
System integration through queues by
System integration through queuesSystem integration through queues
System integration through queuesGianluca Padovani
764 views29 slides
How to Design Reliable and Scalable Webhooks with RabbitMQ by
How to Design Reliable and Scalable Webhooks with RabbitMQHow to Design Reliable and Scalable Webhooks with RabbitMQ
How to Design Reliable and Scalable Webhooks with RabbitMQJim Liao
3.9K views14 slides

More Related Content

Viewers also liked

[Greach 2016] Down The RabbitMQ Hole by
[Greach 2016] Down The RabbitMQ Hole[Greach 2016] Down The RabbitMQ Hole
[Greach 2016] Down The RabbitMQ HoleAlonso Torres
872 views42 slides
Accelerating Time to Market by
Accelerating Time to MarketAccelerating Time to Market
Accelerating Time to MarketVMware Tanzu
1.2K views26 slides
RabbitMQ: Message queuing that works by
RabbitMQ: Message queuing that worksRabbitMQ: Message queuing that works
RabbitMQ: Message queuing that worksCodemotion
693 views23 slides
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow) by
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)VMware Tanzu
5K views47 slides
12-Step Program for Scaling Web Applications on PostgreSQL by
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQLKonstantin Gredeskoul
69.1K views101 slides
Why Domain-Driven Design and Reactive Programming? by
Why Domain-Driven Design and Reactive Programming?Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?VMware Tanzu
4.3K views60 slides

Viewers also liked(9)

[Greach 2016] Down The RabbitMQ Hole by Alonso Torres
[Greach 2016] Down The RabbitMQ Hole[Greach 2016] Down The RabbitMQ Hole
[Greach 2016] Down The RabbitMQ Hole
Alonso Torres872 views
Accelerating Time to Market by VMware Tanzu
Accelerating Time to MarketAccelerating Time to Market
Accelerating Time to Market
VMware Tanzu1.2K views
RabbitMQ: Message queuing that works by Codemotion
RabbitMQ: Message queuing that worksRabbitMQ: Message queuing that works
RabbitMQ: Message queuing that works
Codemotion693 views
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow) by VMware Tanzu
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
Part 4: Custom Buildpacks and Data Services (Pivotal Cloud Platform Roadshow)
VMware Tanzu5K views
12-Step Program for Scaling Web Applications on PostgreSQL by Konstantin Gredeskoul
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
Konstantin Gredeskoul69.1K views
Why Domain-Driven Design and Reactive Programming? by VMware Tanzu
Why Domain-Driven Design and Reactive Programming?Why Domain-Driven Design and Reactive Programming?
Why Domain-Driven Design and Reactive Programming?
VMware Tanzu4.3K views
Pivotal Cloud Foundry: A Technical Overview by VMware Tanzu
Pivotal Cloud Foundry: A Technical OverviewPivotal Cloud Foundry: A Technical Overview
Pivotal Cloud Foundry: A Technical Overview
VMware Tanzu11.1K views
Journey to Cloud-Native: Where to start in your app modernization process by VMware Tanzu
Journey to Cloud-Native: Where to start in your app modernization processJourney to Cloud-Native: Where to start in your app modernization process
Journey to Cloud-Native: Where to start in your app modernization process
VMware Tanzu2K views

More from VMware Tanzu

What AI Means For Your Product Strategy And What To Do About It by
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About ItVMware Tanzu
83 views38 slides
Make the Right Thing the Obvious Thing at Cardinal Health 2023 by
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023VMware Tanzu
63 views23 slides
Enhancing DevEx and Simplifying Operations at Scale by
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
54 views4 slides
Spring Update | July 2023 by
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023VMware Tanzu
73 views37 slides
Platforms, Platform Engineering, & Platform as a Product by
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
78 views6 slides
Building Cloud Ready Apps by
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready AppsVMware Tanzu
54 views73 slides

More from VMware Tanzu(20)

What AI Means For Your Product Strategy And What To Do About It by VMware Tanzu
What AI Means For Your Product Strategy And What To Do About ItWhat AI Means For Your Product Strategy And What To Do About It
What AI Means For Your Product Strategy And What To Do About It
VMware Tanzu83 views
Make the Right Thing the Obvious Thing at Cardinal Health 2023 by VMware Tanzu
Make the Right Thing the Obvious Thing at Cardinal Health 2023Make the Right Thing the Obvious Thing at Cardinal Health 2023
Make the Right Thing the Obvious Thing at Cardinal Health 2023
VMware Tanzu63 views
Enhancing DevEx and Simplifying Operations at Scale by VMware Tanzu
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
VMware Tanzu54 views
Spring Update | July 2023 by VMware Tanzu
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
VMware Tanzu73 views
Platforms, Platform Engineering, & Platform as a Product by VMware Tanzu
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
VMware Tanzu78 views
Building Cloud Ready Apps by VMware Tanzu
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
VMware Tanzu54 views
Spring Boot 3 And Beyond by VMware Tanzu
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
VMware Tanzu147 views
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf by VMware Tanzu
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdfSpring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
VMware Tanzu71 views
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023 by VMware Tanzu
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
VMware Tanzu64 views
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023 by VMware Tanzu
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
VMware Tanzu43 views
tanzu_developer_connect.pptx by VMware Tanzu
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
VMware Tanzu156 views
Tanzu Virtual Developer Connect Workshop - French by VMware Tanzu
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
VMware Tanzu32 views
Tanzu Developer Connect Workshop - English by VMware Tanzu
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
VMware Tanzu90 views
Virtual Developer Connect Workshop - English by VMware Tanzu
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
VMware Tanzu26 views
Tanzu Developer Connect - French by VMware Tanzu
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
VMware Tanzu13 views
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023 by VMware Tanzu
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
VMware Tanzu77 views
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot by VMware Tanzu
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring BootSpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
VMware Tanzu117 views
SpringOne Tour: The Influential Software Engineer by VMware Tanzu
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
VMware Tanzu40 views
SpringOne Tour: Domain-Driven Design: Theory vs Practice by VMware Tanzu
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
VMware Tanzu23 views
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions by VMware Tanzu
SpringOne Tour: Spring Recipes: A Collection of Common-Sense SolutionsSpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
VMware Tanzu40 views

Recently uploaded

Future of Indian ConsumerTech by
Future of Indian ConsumerTechFuture of Indian ConsumerTech
Future of Indian ConsumerTechKapil Khandelwal (KK)
22 views68 slides
PharoJS - Zürich Smalltalk Group Meetup November 2023 by
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023Noury Bouraqadi
132 views17 slides
Serverless computing with Google Cloud (2023-24) by
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)wesley chun
11 views33 slides
Kyo - Functional Scala 2023.pdf by
Kyo - Functional Scala 2023.pdfKyo - Functional Scala 2023.pdf
Kyo - Functional Scala 2023.pdfFlavio W. Brasil
400 views92 slides
Design Driven Network Assurance by
Design Driven Network AssuranceDesign Driven Network Assurance
Design Driven Network AssuranceNetwork Automation Forum
15 views42 slides
Special_edition_innovator_2023.pdf by
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdfWillDavies22
18 views6 slides

Recently uploaded(20)

PharoJS - Zürich Smalltalk Group Meetup November 2023 by Noury Bouraqadi
PharoJS - Zürich Smalltalk Group Meetup November 2023PharoJS - Zürich Smalltalk Group Meetup November 2023
PharoJS - Zürich Smalltalk Group Meetup November 2023
Noury Bouraqadi132 views
Serverless computing with Google Cloud (2023-24) by wesley chun
Serverless computing with Google Cloud (2023-24)Serverless computing with Google Cloud (2023-24)
Serverless computing with Google Cloud (2023-24)
wesley chun11 views
Special_edition_innovator_2023.pdf by WillDavies22
Special_edition_innovator_2023.pdfSpecial_edition_innovator_2023.pdf
Special_edition_innovator_2023.pdf
WillDavies2218 views
6g - REPORT.pdf by Liveplex
6g - REPORT.pdf6g - REPORT.pdf
6g - REPORT.pdf
Liveplex10 views
SAP Automation Using Bar Code and FIORI.pdf by Virendra Rai, PMP
SAP Automation Using Bar Code and FIORI.pdfSAP Automation Using Bar Code and FIORI.pdf
SAP Automation Using Bar Code and FIORI.pdf
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院 by IttrainingIttraining
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
【USB韌體設計課程】精選講義節錄-USB的列舉過程_艾鍗學院
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors by sugiuralab
TouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective SensorsTouchLog: Finger Micro Gesture Recognition  Using Photo-Reflective Sensors
TouchLog: Finger Micro Gesture Recognition Using Photo-Reflective Sensors
sugiuralab21 views
Powerful Google developer tools for immediate impact! (2023-24) by wesley chun
Powerful Google developer tools for immediate impact! (2023-24)Powerful Google developer tools for immediate impact! (2023-24)
Powerful Google developer tools for immediate impact! (2023-24)
wesley chun10 views
HTTP headers that make your website go faster - devs.gent November 2023 by Thijs Feryn
HTTP headers that make your website go faster - devs.gent November 2023HTTP headers that make your website go faster - devs.gent November 2023
HTTP headers that make your website go faster - devs.gent November 2023
Thijs Feryn22 views
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ... by Jasper Oosterveld
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
ESPC 2023 - Protect and Govern your Sensitive Data with Microsoft Purview in ...
Data Integrity for Banking and Financial Services by Precisely
Data Integrity for Banking and Financial ServicesData Integrity for Banking and Financial Services
Data Integrity for Banking and Financial Services
Precisely25 views

RabbitMQ: What’s New & Changing after 10 Years of Application Messaging?

  • 1. RabbitMQ: What’s New & Changing after 10 Years of Application messaging
  • 2. What is RabbitMQ? RabbitMQ is an open source message broker and queueing server that can be used to let disparate applications share data via a common protocol, or to simply queue jobs for processing by distributed workers.
  • 3. Agenda 1.  Brief history of RabbitMQ 2.  Common use cases for RabbitMQ 3.  RabbitMQ in Microservices Architectures 4.  Roadmap
  • 4. Agenda 1.  Brief history of RabbitMQ 2.  Common use cases for RabbitMQ 3.  RabbitMQ in Microservices Architectures 4.  Roadmap
  • 5. AMQP spec and Erlang language are key to RabbitMQ’s DNA RabbitMQ Was First Released 10 Years Ago 2004 AMQP standard defined 2006 First version RabbitMQ 2007 Rabbit Technologies founded 2010 Acquisition by VMWare 2013 Becomes part of Pivotal Software 2014 First release on Cloud Foundry 2017 10th Anniversary of first OSS release
  • 6. RabbitMQ is the most widely used & deployed open source message queue 10 Years of Serving Developers Frequently searched for... Frequently visited...
  • 7. Decoupling applications through messaging is a growing need RabbitMQ Adoption Continues to Climb Consistently increasing job market... 76% YOY increase in downloads Established user community...
  • 8. Agenda 1.  Brief history of RabbitMQ 2.  Common use cases for RabbitMQ 3.  RabbitMQ in Microservices Architectures 4.  Roadmap
  • 9. Typical application messaging patterns deployed by developers Common Use Cases for RabbitMQ ●  Decouple apps via async services ○  Use queues as buffers ○  Scale app components individually ○  Enable microservices - RMQ is small/light enough ●  Routing and distributing ●  Load balancing ●  Cross language barriers using AMQP standard protocol
  • 10. Application messaging focused for developers What Makes RabbitMQ Unique ●  Open standard protocol ●  Open source license ●  Language independent ●  Authentication (e.g. LDAP) ●  Authorisation ●  Massive client ecosystem ●  Get started quickly ●  Grow organically ●  Suited to cloud deployment
  • 11. All major operating systems, clouds, and programming languages are supported Common Ways to Consume RabbitMQ More than 100 clients, integrations, & plugins from the RabbitMQ community
  • 12. Agenda 1.  Brief history of RabbitMQ 2.  Common use cases for RabbitMQ 3.  RabbitMQ in Microservices Architectures 4.  Roadmap
  • 13. RabbitMQ Domain-Specific Messaging Fits Cloud-Native Approach Decoupled Messaging Becomes MSA Requirement Designed for easy adoption by developers ●  For asynchronous enterprise integration patterns. ●  When service buses are too heavy weight. ●  Decouples related applications Fits microservice architecture needs ●  Highly-distributed nature eschews centralized integration. ●  Integration and communication channels must be decoupled. ●  Developers can choose the best messaging ●  RabbitMQ ease of adoption shines for many (but not all) patterns.
  • 14. Message Brokers in Microservices Architecture
  • 15. Example MSA Scenario Implemented with RabbitMQ
  • 16. Agenda 1.  Brief history of RabbitMQ 2.  Common use cases for RabbitMQ 3.  RabbitMQ in Microservices Architectures 4.  Roadmap
  • 17. 2016 Review Improvements in Internal Processes ●  Ongoing Staff investments ●  CI - Pivotal Tracker, Concourse ●  Erlang Common Test ●  EUnit ●  Wider distribution ○  GitHub, Bintray, Package Cloud ○  More ways to consume RMQ ●  Wider automated testing ○  Ubuntu, Debian, CentOS, Fedora ○  More client libs for protocols ●  Client version decoupling ●  Ongoing community participation
  • 18. Three main themes in vision RabbitMQ Development Direction ●  Operability ○  Admin ease of use (non-developer) ○  Safety Policies ○  Security and compliance ●  Scalability ○  RabbitMQ as a service ○  Large clusters ○  Predictable behavior and failure modes ●  Expansion and support of programming languages and tools ○  Deeper into core languages and Spring ○  Quality support for community clients
  • 19. Enablement and empowerment of administrators Operability In 3.5.x, 3.6 ●  Lazy Queues ●  Tunable Flow Control ●  Event Exchange (devops) In 3.7 ●  New config format (non-Erlang) ●  New CLI tools (Elixir) ●  Clustering ○  Pluggable peer discovery ○  Easy restarts ●  Simplified/flexible logging In 3.7 (continued) ●  Operator policies & limits ○  Connections, channels, queues ●  TLS/x509 Cert Trust Store ●  OAuth 2 and OpenID Connect ●  Proxy protocol support ●  Autocluster improvements 3.8 and beyond ●  Toxic message handling ●  Pure IPv6 support ●  Mixed version clusters (downtime)
  • 20. Stability and performance in extreme environments Scalability In 3.5.x, 3.6 ●  Faster Sync of mirrors - batched ●  Reduced RAM usage ●  LDAP connection pooling ●  Sharding In 3.7 ●  Mgmt Plugin refactor ○  Distributed ○  Parallelized ●  Increased automated testing (internal) ●  Long-running test environments (internal) ●  Refactor vs new feature balance weighting 3.8 and beyond ●  Message Store: write-ahead ●  StatsDB: disk storage ●  RAFT-based consensus for queue mirrors ●  Reduce dependency on Erlang Mnesia DB
  • 21. Expansion and support of programming languages and tools Client, protocol, and plugin ecosystem In 3.5.x, 3.6, 3.7 ●  WebSTOMP ●  WebMQTT ●  JMS Client ○  Donated by Pivotal ○  Integrated into RMQ core (JMS Topic Exch) ●  Major Java client update ○  Logging and metrics ○  Spring - cross development ■  Reactor - NIO support ■  Spring Boot - client metrics ■  Spring AMQP - new config options ●  Major .NET client update ○  .NET Core support ○  Async / await ●  New iOS and MacOS client 3.8 and beyond ●  AMQP 1.0 improvements ○  New AMQP 1.0 client ○  Cross-protocol Shovel ○  Cross-protocol Federation ●  MQTT improvements
  • 22. Two avenues to obtain RabbitMQ from Pivotal Commercial Support for RabbitMQ from Pivotal Pivotal App Suite ●  Sold via processor core equivalent ●  Includes option to use OSS or Pivotal-branded versions ●  Pivotal Premier Support (24x7) ●  Full OSS support ●  Developer support also available RabbitMQ for Pivotal Cloud Foundry ●  Sold via service instance (cluster) ●  Provided with PCF Services Suite ●  Shared cluster today, dedicated instances coming ●  Includes support to run outside PCF as well is within PCF as an automated service