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
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Lorna Mitchell
May 17, 2017
Technology
970
0
Share
Handling Failure in RabbitMQ
Lightning talk at the DataLayer event in Austin
Lorna Mitchell
May 17, 2017
More Decks by Lorna Mitchell
See All by Lorna Mitchell
Introduction to OpenAPI Specification
lornajane
1
820
Create PDFs from markup with rst2pdf
lornajane
3
910
Serverless Microservices are the New Black
lornajane
3
160
Serverless Computing with Apache OpenWhisk
lornajane
0
140
Build A Serverless Data Pipeline
lornajane
1
850
SQL, NoSQL and Beyond
lornajane
0
1.1k
Build a Serverless Data Pipeline
lornajane
1
1.2k
Road Trip Through Database Country
lornajane
1
1k
Serverless Microservices Are The New Black
lornajane
1
170
Other Decks in Technology
See All in Technology
「使われるデータ基盤」を目指してデータアナリストとワークショップをやった話
jackojacko_
2
910
Amazon CloudFrontにおけるAIボットアクセス制御のポイント
kizawa2020
4
300
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
16
16k
Oracle Cloud Infrastructure:2026年5月度サービス・アップデート
oracle4engineer
PRO
1
200
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
3
250
RubyでRuby拡張を書いたらRubyより35倍速になったってどういうこと??
kazuho
3
660
Spring Boot における AOT Cache 活用テクニックと 起動時間改善事例
ntt_dsol_java
0
150
Cloud Run のアップデート 触ってみる&紹介
gre212
0
180
はじめてのAI-DLC
yoshidashingo
2
590
oracle-to-databricks-migration-with-llm-and-dbt
casek
0
300
Copilot CLI・IDE・Web・スマホで途切れない開発フローを目指して / One Copilot flow - CLI IDE Web Mobile
aeonpeople
1
1.1k
基礎から解説!Icebergで紐解くSnowflake×Databricks連携の現在地
cm_yasuhara
0
350
Featured
See All Featured
AI: The stuff that nobody shows you
jnunemaker
PRO
7
660
Build your cross-platform service in a week with App Engine
jlugia
234
18k
The browser strikes back
jonoalderson
0
1.1k
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
140
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
310
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
310
What does AI have to do with Human Rights?
axbom
PRO
1
2.2k
Designing for Performance
lara
611
70k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
120
Tell your own story through comics
letsgokoyo
1
930
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
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