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
0
930
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
810
Create PDFs from markup with rst2pdf
lornajane
3
880
Serverless Microservices are the New Black
lornajane
3
150
Serverless Computing with Apache OpenWhisk
lornajane
0
130
Build A Serverless Data Pipeline
lornajane
1
820
SQL, NoSQL and Beyond
lornajane
0
1.1k
Build a Serverless Data Pipeline
lornajane
1
1.1k
Road Trip Through Database Country
lornajane
1
1k
Serverless Microservices Are The New Black
lornajane
1
160
Other Decks in Technology
See All in Technology
スケーリングを封じられたEC2を救いたい
senseofunity129
0
110
ADK + Gemini Enterprise で 外部 API 連携エージェント作るなら OAuth の仕組みを理解しておこう
kaz1437
0
210
AIエージェント勉強会第3回 エージェンティックAIの時代がやってきた
ymiya55
0
140
GitHub Actions侵害 — 相次ぐ事例を振り返り、次なる脅威に備える
flatt_security
3
3.2k
「AIエージェントで変わる開発プロセス―レビューボトルネックからの脱却」
lycorptech_jp
PRO
0
150
FastMCP OAuth Proxy with Cognito
hironobuiga
3
210
契約書からの情報抽出を行うLLMのスループットを、バッチ処理を用いて最大40%改善した話
sansantech
PRO
3
290
Laravelで学ぶOAuthとOpenID Connectの基礎と実装
kyoshidaxx
4
1.9k
君はジョシュアツリーを知っているか?名前をつけて事象を正しく認識しよう / Do you know Joshua Tree?
ykanoh
4
130
SaaSに宿る21g
kanyamaguc
2
170
Phase05_ClaudeCode入門
overflowinc
0
2.3k
開発チームとQAエンジニアの新しい協業モデル -年末調整開発チームで実践する【QAリード施策】-
kaomi_wombat
0
250
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
440
We Analyzed 250 Million AI Search Results: Here's What I Found
joshbly
1
1k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
160
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
19k
For a Future-Friendly Web
brad_frost
183
10k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
89
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.8k
Stop Working from a Prison Cell
hatefulcrawdad
274
21k
Marketing to machines
jonoalderson
1
5.1k
The Curse of the Amulet
leimatthew05
1
11k
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