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
990
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
830
Create PDFs from markup with rst2pdf
lornajane
3
930
Serverless Microservices are the New Black
lornajane
3
160
Serverless Computing with Apache OpenWhisk
lornajane
0
150
Build A Serverless Data Pipeline
lornajane
1
860
SQL, NoSQL and Beyond
lornajane
0
1.2k
Build a Serverless Data Pipeline
lornajane
1
1.2k
Road Trip Through Database Country
lornajane
1
1.1k
Serverless Microservices Are The New Black
lornajane
1
180
Other Decks in Technology
See All in Technology
cccccc
moznion
0
1.9k
Amazon EVS で VCF 9.0 / 9.1 のサポート開始まとめ
mtoyoda
0
290
実装だけじゃない! CCA-F取得エンジニアが教えるClaude Code開発プロセス活用術
diggymo
2
700
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
11
7.2k
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
840
関数型の考えを TypeScript に持ち込んで、テストしやすい純粋関数を増やす / Pure at the Core, Effects at the Edge: Bringing Functional Thinking into TypeScript
kaminashi
1
110
Claude Codeとハーネスについて考えてみる
oikon48
19
9.4k
CIで使うClaude
iwatatomoya
0
250
世界、断片、モデル。そして理解
ardbeg1958
1
110
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
530
凡エンジニアがこの先生きのこるためには。〜TypeScript完全に理解したい〜
alchemy1115
2
180
環境凍結という Toil を倒す -セルフサービス型 Ephemeral テスト環境の 設計と実践
shirouz
1
2.3k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Git: the NoSQL Database
bkeepers
PRO
432
67k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
170
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
49
10k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
260
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
370
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.8k
Information Architects: The Missing Link in Design Systems
soysaucechin
0
1k
Six Lessons from altMBA
skipperchong
29
4.3k
A Soul's Torment
seathinner
6
3.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
220
How STYLIGHT went responsive
nonsquared
100
6.2k
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