SlideShare a Scribd company logo
1 of 28
Download to read offline
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.
Karl Nilsson and Michael Klishin
May 2019
What’s New in RabbitMQ 3.8
Cover w/ Image
Agenda
! Introduction
! Quorum Queues
! Simplified Upgrades
! Observability
! OAuth 2.0
! Erlang 22 Support
! 3.8 availability
! Q+A
Intro
What’s New in RabbitMQ 3.8
Intro
Michael Klishin
! Staff engineer at Pivotal
Who are we?
Intro
Karl Nilsson
! Staff engineer at Pivotal
Who are we?
Quorum Queues
What’s New in RabbitMQ 3.8
Quorum Queues in RabbitMQ 3.8
Mirrored Queues
! Use a variation of Chained Replication

! Suboptimal data transfers

๏ Mostly a linear algorithm

! Does not deal with link failures optimally
Quorum Queues
! Recovery from failures is predictable and well
defined
! Queue sync after failure transfers as little data
as possible
! Passes more resiliency tests
! No ring topology, parallel replication
! Lower bandwidth usage*
! Opens the door to off-site and multi-DC
replication
Quorum Queues in RabbitMQ 3.8
Queue Types
! Classic (mirrored) queues 

! Quorum queues
Quorum Queues in RabbitMQ 3.8
How are Quorum Queues Different?
! Better defined leader election semantics

! Follower promotion is very fast (minimal data transfers) and non-blocking

! Better data safety and better defined consistency model

! All messages are persisted

! Requires the majority of nodes to be online in order to be available

! Favours consistency over availability

! Higher peak memory usage compared to classic mirrored queues

๏ Can be limited via configuration

! Higher latency

๏ Replicates and fsyncs all operations

! Several classic mirrored queue features are missing, some are by design
Quorum Queues in RabbitMQ 3.8
Quorum Queues Use Cases
! Durable, persistent, replicated

! For clusters with 3 or more nodes only

! Only when you need the guarantees or recovery features it provides

! Higher latency is acceptable

! Not doing mass fanouts
Quorum Queues in RabbitMQ 3.8
Quorum Queues: When Not to Use
! Unless applications do their part to ensure data safety: publisher and consumer confirms,
mandatory publishing

! Very long backlogs

! Queues transient in nature

! Low latency workloads

! Memory constrained systems

๏ At least not with all defaults
Quorum Queues in RabbitMQ 3.8
Quorum Queues: Features
! Dead lettering

! Delivery count and poison message handling

! In memory limits

! Only one queue length limit strategy: drop head

! Single Active Consumer (SAC)
Quorum Queues in RabbitMQ 3.8
Quorum Queues: Features Under Consideration
! Message TTL

! Queue length limit reject publish
Simplified Upgrades
What’s New in RabbitMQ 3.8
Simplified Upgrades in RabbitMQ 3.8
Upgrades from 3.6 to 3.7
! Cluster-wide shutdown

! Blue/Green deployment (spin a new cluster,
switch traffic over)
Upgrades from 3.7 to 3.8
! Rolling upgrade (one node at a time)

๏ Feature flags control what new features are
enabled

๏ A feature not present in older versions won’t
be available until all cluster members
support it and it’s been enabled

๏ New step for deployment automation tools:
enable feature flags

๏ Nodes that do not support feature flags
enabled in a cluster cannot join that cluster

! Blue/Green deployment

! Cluster-wide shutdown might still be necessary
in a future version depending on the nature of
changes
Observability
What’s New in RabbitMQ 3.8
Observability in RabbitMQ 3.8
Observability
! New metrics

๏ Inter-node communication (Erlang distribution) metrics (e.g. to detect bottlenecks)

๏ Unroutable message rate

๏ Empty basic.get (polling) responses
! New built-in plugin that exposes metrics to Prometheus

๏ Long term metric storage

๏ Lower overhead, separate from the system it monitors

! Visualised by Grafana

๏ Pre-built dashboards

๏ Custom dashboards

๏ Powerful tools for aggregation and correlation
OAuth 2.0
What’s New in RabbitMQ 3.8
OAuth 2.0 Support in RabbitMQ 3.8
OAuth 2.0 Support
! Allows clients use OAuth 2.0/JWT tokens to authenticate and claim permissions

! Implemented as a new plugin
! OAuth 2.0/JWT token scopes that follow naming conventions are translated to RabbitMQ
permissions

! Clients can use any OAuth 2.0 authorization code flow
OAuth 2.0 Support in RabbitMQ 3.8
OAuth 2.0 Support
! Management UI will use the authorization code flow

! Officially supported clients can simplify token renewal

! Token renewal for Shovel and Federation plugin is an open-ended question
Erlang 22.0 Support
What’s New in RabbitMQ 3.8
Erlang 22.0 Support in RabbitMQ 3.8
Erlang 22.0 Support
! New inter-node communication implementation
๏ Improved handling of large payloads, lower latency

! Efficiency improvements

! Experimental TLSv1.3 support

๏ TLSv1.1 and earlier are disabled by default
3.8 Availability
What’s New in RabbitMQ 3.8
OAuth 2.0 Support in RabbitMQ 3.8
3.8 Availability
! Est. Q2-Q3 2019

! 3.8.0-beta.4 is available from GitHub and Bintray today

! Documentation on next.rabbitmq.com: Quorum Queues, Feature Flags
Questions?
What’s New in RabbitMQ 3.8
Thank you!
What’s New in RabbitMQ 3.8
Transforming How The World Builds Software
© Copyright 2019 Pivotal Software, Inc. All rights Reserved.

More Related Content

What's hot

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
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message BrokerMartin Toshev
 
An update from the RabbitMQ team - Michael Klishin
An update from the RabbitMQ team - Michael KlishinAn update from the RabbitMQ team - Michael Klishin
An update from the RabbitMQ team - Michael KlishinRabbitMQ Summit
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQPOSSCON
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQAll Things Open
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPEberhard Wolff
 
[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging QueuesNaukri.com
 
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeA walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeRabbitMQ Summit
 
Distributed messaging with AMQP
Distributed messaging with AMQPDistributed messaging with AMQP
Distributed messaging with AMQPWee Keat Chin
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepthWee Keat Chin
 
What we've learned from running thousands of production RabbitMQ clusters - L...
What we've learned from running thousands of production RabbitMQ clusters - L...What we've learned from running thousands of production RabbitMQ clusters - L...
What we've learned from running thousands of production RabbitMQ clusters - L...RabbitMQ Summit
 
Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQKnoldus Inc.
 
Messaging with amqp and rabbitmq
Messaging with amqp and rabbitmqMessaging with amqp and rabbitmq
Messaging with amqp and rabbitmqSelasie Hanson
 
Integrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQIntegrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQGavin Roy
 

What's hot (20)

RabbitMQ & Hutch
RabbitMQ & HutchRabbitMQ & Hutch
RabbitMQ & Hutch
 
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
 
The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
An update from the RabbitMQ team - Michael Klishin
An update from the RabbitMQ team - Michael KlishinAn update from the RabbitMQ team - Michael Klishin
An update from the RabbitMQ team - Michael Klishin
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
Messaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQMessaging Standards and Systems - AMQP & RabbitMQ
Messaging Standards and Systems - AMQP & RabbitMQ
 
AMQP for phpMelb
AMQP for phpMelbAMQP for phpMelb
AMQP for phpMelb
 
Messaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQPMessaging with RabbitMQ and AMQP
Messaging with RabbitMQ and AMQP
 
[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues[@NaukriEngineering] Messaging Queues
[@NaukriEngineering] Messaging Queues
 
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda DubeA walk-through of the design and architecture of RabbitMQ - Ayanda Dube
A walk-through of the design and architecture of RabbitMQ - Ayanda Dube
 
Distributed messaging with AMQP
Distributed messaging with AMQPDistributed messaging with AMQP
Distributed messaging with AMQP
 
Amqp Basic
Amqp BasicAmqp Basic
Amqp Basic
 
What is RabbitMQ ?
What is RabbitMQ ?What is RabbitMQ ?
What is RabbitMQ ?
 
Spring RabbitMQ
Spring RabbitMQSpring RabbitMQ
Spring RabbitMQ
 
RabbitMQ fairly-indepth
RabbitMQ fairly-indepthRabbitMQ fairly-indepth
RabbitMQ fairly-indepth
 
A Closer Look at RabbitMQ
A Closer Look at RabbitMQA Closer Look at RabbitMQ
A Closer Look at RabbitMQ
 
What we've learned from running thousands of production RabbitMQ clusters - L...
What we've learned from running thousands of production RabbitMQ clusters - L...What we've learned from running thousands of production RabbitMQ clusters - L...
What we've learned from running thousands of production RabbitMQ clusters - L...
 
Introduction To RabbitMQ
Introduction To RabbitMQIntroduction To RabbitMQ
Introduction To RabbitMQ
 
Messaging with amqp and rabbitmq
Messaging with amqp and rabbitmqMessaging with amqp and rabbitmq
Messaging with amqp and rabbitmq
 
Integrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQIntegrating PostgreSql with RabbitMQ
Integrating PostgreSql with RabbitMQ
 

Similar to What’s New in RabbitMQ 3.8?

Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyLee Calcote
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testingAntonio Ojea Garcia
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考えるOhyama Hiroyasu
 
Where next for MQTT?
Where next for MQTT?Where next for MQTT?
Where next for MQTT?Ian Craggs
 
Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...
Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...
Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...Anand Raj
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in EnglishEric Xiao
 
MQTT (Message Queue Telemetry Transport)
MQTT (Message Queue Telemetry Transport)MQTT (Message Queue Telemetry Transport)
MQTT (Message Queue Telemetry Transport)Eko Rudiawan
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionSensorUp
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)PeterNiblett
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogJoe Stein
 
Lightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTLightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTDominik Obermaier
 
What Is Sliding Window Protocol?
What Is Sliding Window Protocol?What Is Sliding Window Protocol?
What Is Sliding Window Protocol?Simplilearn
 
Scaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamScaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamDominik Obermaier
 
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Community
 
A STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGS
A STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGSA STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGS
A STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGSijscmcj
 

Similar to What’s New in RabbitMQ 3.8? (20)

Istio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxyIstio: Using nginMesh as the service proxy
Istio: Using nginMesh as the service proxy
 
Automating linux network performance testing
Automating linux network performance testingAutomating linux network performance testing
Automating linux network performance testing
 
Развитие MX маршрутизаторов
Развитие MX маршрутизаторовРазвитие MX маршрутизаторов
Развитие MX маршрутизаторов
 
APIs at the Edge
APIs at the EdgeAPIs at the Edge
APIs at the Edge
 
[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える[OSC2016] マイクロサービスを支える MQ を考える
[OSC2016] マイクロサービスを支える MQ を考える
 
Where next for MQTT?
Where next for MQTT?Where next for MQTT?
Where next for MQTT?
 
Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...
Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...
Ema best practices_for_utilizing_network_monitoring_switches_in_cisco_environ...
 
Introduction MQTT in English
Introduction MQTT in EnglishIntroduction MQTT in English
Introduction MQTT in English
 
MQTT (Message Queue Telemetry Transport)
MQTT (Message Queue Telemetry Transport)MQTT (Message Queue Telemetry Transport)
MQTT (Message Queue Telemetry Transport)
 
MQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT ExtensionMQTT and SensorThings API MQTT Extension
MQTT and SensorThings API MQTT Extension
 
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
IAB-5039 : MQTT: A Protocol for the Internet of Things (InterConnect 2015)
 
Streaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit LogStreaming Processing with a Distributed Commit Log
Streaming Processing with a Distributed Commit Log
 
Lightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTTLightweight and scalable IoT Messaging with MQTT
Lightweight and scalable IoT Messaging with MQTT
 
HSTR Seminar
HSTR SeminarHSTR Seminar
HSTR Seminar
 
What Is Sliding Window Protocol?
What Is Sliding Window Protocol?What Is Sliding Window Protocol?
What Is Sliding Window Protocol?
 
Quantum Cryptography
Quantum Cryptography  Quantum Cryptography
Quantum Cryptography
 
Scaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic BeamScaling MQTT - Webinar with Elastic Beam
Scaling MQTT - Webinar with Elastic Beam
 
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
Ceph Day SF 2015 - Deploying flash storage for Ceph without compromising perf...
 
A new perspective on Network Visibility - RISK 2015
A new perspective on Network Visibility - RISK 2015A new perspective on Network Visibility - RISK 2015
A new perspective on Network Visibility - RISK 2015
 
A STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGS
A STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGSA STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGS
A STUDY OF QOS 6LOWPAN FOR THE INTERNET OF THINGS
 

More from VMware Tanzu

What AI Means For Your Product Strategy And What To Do About It
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
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
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
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleVMware Tanzu
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023VMware Tanzu
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductVMware Tanzu
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready AppsVMware Tanzu
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And BeyondVMware Tanzu
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
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.pdfVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
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 2023VMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
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 2023VMware Tanzu
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptxVMware Tanzu
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchVMware Tanzu
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishVMware Tanzu
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVMware Tanzu
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - FrenchVMware Tanzu
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
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 2023VMware Tanzu
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
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 BootVMware Tanzu
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerVMware Tanzu
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeVMware Tanzu
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
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 SolutionsVMware Tanzu
 

More from VMware Tanzu (20)

What AI Means For Your Product Strategy And What To Do About It
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
 
Make the Right Thing the Obvious Thing at Cardinal Health 2023
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
 
Enhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at ScaleEnhancing DevEx and Simplifying Operations at Scale
Enhancing DevEx and Simplifying Operations at Scale
 
Spring Update | July 2023
Spring Update | July 2023Spring Update | July 2023
Spring Update | July 2023
 
Platforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a ProductPlatforms, Platform Engineering, & Platform as a Product
Platforms, Platform Engineering, & Platform as a Product
 
Building Cloud Ready Apps
Building Cloud Ready AppsBuilding Cloud Ready Apps
Building Cloud Ready Apps
 
Spring Boot 3 And Beyond
Spring Boot 3 And BeyondSpring Boot 3 And Beyond
Spring Boot 3 And Beyond
 
Spring Cloud Gateway - SpringOne Tour 2023 Charles Schwab.pdf
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
 
Simplify and Scale Enterprise Apps in the Cloud | Boston 2023
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
 
Simplify and Scale Enterprise Apps in the Cloud | Seattle 2023
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
 
tanzu_developer_connect.pptx
tanzu_developer_connect.pptxtanzu_developer_connect.pptx
tanzu_developer_connect.pptx
 
Tanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - FrenchTanzu Virtual Developer Connect Workshop - French
Tanzu Virtual Developer Connect Workshop - French
 
Tanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - EnglishTanzu Developer Connect Workshop - English
Tanzu Developer Connect Workshop - English
 
Virtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - EnglishVirtual Developer Connect Workshop - English
Virtual Developer Connect Workshop - English
 
Tanzu Developer Connect - French
Tanzu Developer Connect - FrenchTanzu Developer Connect - French
Tanzu Developer Connect - French
 
Simplify and Scale Enterprise Apps in the Cloud | Dallas 2023
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
 
SpringOne Tour: Deliver 15-Factor Applications on Kubernetes with Spring Boot
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
 
SpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software EngineerSpringOne Tour: The Influential Software Engineer
SpringOne Tour: The Influential Software Engineer
 
SpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs PracticeSpringOne Tour: Domain-Driven Design: Theory vs Practice
SpringOne Tour: Domain-Driven Design: Theory vs Practice
 
SpringOne Tour: Spring Recipes: A Collection of Common-Sense Solutions
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
 

Recently uploaded

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

What’s New in RabbitMQ 3.8?

  • 1. © Copyright 2019 Pivotal Software, Inc. All rights Reserved. Karl Nilsson and Michael Klishin May 2019 What’s New in RabbitMQ 3.8
  • 2. Cover w/ Image Agenda ! Introduction ! Quorum Queues ! Simplified Upgrades ! Observability ! OAuth 2.0 ! Erlang 22 Support ! 3.8 availability ! Q+A
  • 3. Intro What’s New in RabbitMQ 3.8
  • 4. Intro Michael Klishin ! Staff engineer at Pivotal Who are we?
  • 5. Intro Karl Nilsson ! Staff engineer at Pivotal Who are we?
  • 6. Quorum Queues What’s New in RabbitMQ 3.8
  • 7. Quorum Queues in RabbitMQ 3.8 Mirrored Queues ! Use a variation of Chained Replication ! Suboptimal data transfers ๏ Mostly a linear algorithm ! Does not deal with link failures optimally Quorum Queues ! Recovery from failures is predictable and well defined ! Queue sync after failure transfers as little data as possible ! Passes more resiliency tests ! No ring topology, parallel replication ! Lower bandwidth usage* ! Opens the door to off-site and multi-DC replication
  • 8. Quorum Queues in RabbitMQ 3.8 Queue Types ! Classic (mirrored) queues ! Quorum queues
  • 9. Quorum Queues in RabbitMQ 3.8 How are Quorum Queues Different? ! Better defined leader election semantics ! Follower promotion is very fast (minimal data transfers) and non-blocking ! Better data safety and better defined consistency model ! All messages are persisted ! Requires the majority of nodes to be online in order to be available ! Favours consistency over availability ! Higher peak memory usage compared to classic mirrored queues ๏ Can be limited via configuration ! Higher latency ๏ Replicates and fsyncs all operations ! Several classic mirrored queue features are missing, some are by design
  • 10. Quorum Queues in RabbitMQ 3.8 Quorum Queues Use Cases ! Durable, persistent, replicated ! For clusters with 3 or more nodes only ! Only when you need the guarantees or recovery features it provides ! Higher latency is acceptable ! Not doing mass fanouts
  • 11. Quorum Queues in RabbitMQ 3.8 Quorum Queues: When Not to Use ! Unless applications do their part to ensure data safety: publisher and consumer confirms, mandatory publishing ! Very long backlogs ! Queues transient in nature ! Low latency workloads ! Memory constrained systems ๏ At least not with all defaults
  • 12. Quorum Queues in RabbitMQ 3.8 Quorum Queues: Features ! Dead lettering ! Delivery count and poison message handling ! In memory limits ! Only one queue length limit strategy: drop head ! Single Active Consumer (SAC)
  • 13. Quorum Queues in RabbitMQ 3.8 Quorum Queues: Features Under Consideration ! Message TTL ! Queue length limit reject publish
  • 15. Simplified Upgrades in RabbitMQ 3.8 Upgrades from 3.6 to 3.7 ! Cluster-wide shutdown ! Blue/Green deployment (spin a new cluster, switch traffic over) Upgrades from 3.7 to 3.8 ! Rolling upgrade (one node at a time) ๏ Feature flags control what new features are enabled ๏ A feature not present in older versions won’t be available until all cluster members support it and it’s been enabled ๏ New step for deployment automation tools: enable feature flags ๏ Nodes that do not support feature flags enabled in a cluster cannot join that cluster ! Blue/Green deployment ! Cluster-wide shutdown might still be necessary in a future version depending on the nature of changes
  • 17. Observability in RabbitMQ 3.8 Observability ! New metrics ๏ Inter-node communication (Erlang distribution) metrics (e.g. to detect bottlenecks) ๏ Unroutable message rate ๏ Empty basic.get (polling) responses ! New built-in plugin that exposes metrics to Prometheus ๏ Long term metric storage ๏ Lower overhead, separate from the system it monitors ! Visualised by Grafana ๏ Pre-built dashboards ๏ Custom dashboards ๏ Powerful tools for aggregation and correlation
  • 18.
  • 19. OAuth 2.0 What’s New in RabbitMQ 3.8
  • 20. OAuth 2.0 Support in RabbitMQ 3.8 OAuth 2.0 Support ! Allows clients use OAuth 2.0/JWT tokens to authenticate and claim permissions ! Implemented as a new plugin ! OAuth 2.0/JWT token scopes that follow naming conventions are translated to RabbitMQ permissions ! Clients can use any OAuth 2.0 authorization code flow
  • 21. OAuth 2.0 Support in RabbitMQ 3.8 OAuth 2.0 Support ! Management UI will use the authorization code flow ! Officially supported clients can simplify token renewal ! Token renewal for Shovel and Federation plugin is an open-ended question
  • 22. Erlang 22.0 Support What’s New in RabbitMQ 3.8
  • 23. Erlang 22.0 Support in RabbitMQ 3.8 Erlang 22.0 Support ! New inter-node communication implementation ๏ Improved handling of large payloads, lower latency ! Efficiency improvements ! Experimental TLSv1.3 support ๏ TLSv1.1 and earlier are disabled by default
  • 24. 3.8 Availability What’s New in RabbitMQ 3.8
  • 25. OAuth 2.0 Support in RabbitMQ 3.8 3.8 Availability ! Est. Q2-Q3 2019 ! 3.8.0-beta.4 is available from GitHub and Bintray today ! Documentation on next.rabbitmq.com: Quorum Queues, Feature Flags
  • 27. Thank you! What’s New in RabbitMQ 3.8
  • 28. Transforming How The World Builds Software © Copyright 2019 Pivotal Software, Inc. All rights Reserved.