Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Handling Failure in RabbitMQ
Search
Lorna Mitchell
May 17, 2017
Technology
0
910
Handling Failure in RabbitMQ
Lightning talk at the DataLayer event in Austin
Lorna Mitchell
May 17, 2017
Tweet
Share
More Decks by Lorna Mitchell
See All by Lorna Mitchell
Introduction to OpenAPI Specification
lornajane
1
760
Create PDFs from markup with rst2pdf
lornajane
3
810
Serverless Microservices are the New Black
lornajane
3
130
Serverless Computing with Apache OpenWhisk
lornajane
0
110
Build A Serverless Data Pipeline
lornajane
1
770
SQL, NoSQL and Beyond
lornajane
0
1.1k
Build a Serverless Data Pipeline
lornajane
1
1.1k
Road Trip Through Database Country
lornajane
1
970
Serverless Microservices Are The New Black
lornajane
1
140
Other Decks in Technology
See All in Technology
LLMをツールからプラットフォームへ〜Ai Workforceの戦略〜 #BetAIDay
layerx
PRO
1
980
Intro to Software Startups: Spring 2025
arnabdotorg
0
260
AI時代の大規模データ活用とセキュリティ戦略
ken5scal
0
130
Claude Codeが働くAI中心の業務システム構築の挑戦―AIエージェント中心の働き方を目指して
os1ma
9
2.6k
MCP認可の現在地と自律型エージェント対応に向けた課題 / MCP Authorization Today and Challenges to Support Autonomous Agents
yokawasa
5
2.3k
開発 × 生成AI × コミュニケーション:GENDAの開発現場で感じたコミュニケーションの変化 / GENDA Tech Talk #1
genda
0
230
React Server ComponentsでAPI不要の開発体験
polidog
PRO
0
240
Findy Freelance 利用シーン別AI活用例
ness
0
500
UDDのススメ - 拡張版 -
maguroalternative
1
550
「Roblox」の開発環境とその効率化 ~DAU9700万人超の巨大プラットフォームの開発 事始め~
keitatanji
0
120
Telemetry APIから学ぶGoogle Cloud ObservabilityとOpenTelemetryの現在 / getting-started-telemetry-api-with-google-cloud
k6s4i53rx
0
150
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
2k
Featured
See All Featured
Connecting the Dots Between Site Speed, User Experience & Your Business [WebExpo 2025]
tammyeverts
8
450
Fireside Chat
paigeccino
38
3.6k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Building Applications with DynamoDB
mza
96
6.5k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
Designing Experiences People Love
moore
142
24k
Making the Leap to Tech Lead
cromwellryan
134
9.5k
Agile that works and the tools we love
rasmusluckow
329
21k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Being A Developer After 40
akosma
90
590k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
8
880
It's Worth the Effort
3n
185
28k
Transcript
Handling Failure in RabbitMQ Lorna Mitchell, IBM https://speakerdeck.com/lornajane
Queues and RabbitMQ • Queues are a brilliant addition to
any application • They introduce coupling points • RabbitMQ is an open source, powerful message queue • https://www.rabbitmq.com @lornajane
A Selection Box Of Failures @lornajane
Message Not Processed Question: Better late than never? @lornajane
Implementing Retries RabbitMQ doesn't have built in support but: 1.
Identify message should be retried 2. Create a new message with same data 3. Add retry count/date 4. Ack the original message 5. Reject after X attempts @lornajane
Can Never Process Message Be Defensive: Fail when you can
Optionally: use a dead letter exchange @lornajane
Dead Letter Exchanges @lornajane
Reincarnating Messages From the dead letter exchange we usually: •
monitor and log what arrives • collect messages, then re-route to original destination when danger has passed @lornajane
Healthy Queues Good metrics avoid nasty surprises As a minimum:
queue size, worker uptime, processing time @lornajane
Choose How To Fail @lornajane
Thanks! Blog post: http://lrnja.net/rabbitfail Personal blog: https://lornajane.net Try RabbitMQ: •
https://rabbitmq.com/ • https://bluemix.net @lornajane