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
890
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
660
Create PDFs from markup with rst2pdf
lornajane
3
730
Serverless Microservices are the New Black
lornajane
3
110
Serverless Computing with Apache OpenWhisk
lornajane
0
95
Build A Serverless Data Pipeline
lornajane
1
720
SQL, NoSQL and Beyond
lornajane
0
1k
Build a Serverless Data Pipeline
lornajane
1
1k
Road Trip Through Database Country
lornajane
1
940
Serverless Microservices Are The New Black
lornajane
1
130
Other Decks in Technology
See All in Technology
The Rise of LLMOps
asei
7
1.4k
AWS Media Services 最新サービスアップデート 2024
eijikominami
0
200
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
120
Making your applications cross-environment - OSCG 2024 NA
salaboy
0
180
EventHub Startup CTO of the year 2024 ピッチ資料
eventhub
0
110
【若手エンジニア応援LT会】ソフトウェアを学んできた私がインフラエンジニアを目指した理由
kazushi_ohata
0
150
Amazon CloudWatch Network Monitor のススメ
yuki_ink
1
200
個人でもIAM Identity Centerを使おう!(アクセス管理編)
ryder472
3
200
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Taming you application's environments
salaboy
0
180
BLADE: An Attempt to Automate Penetration Testing Using Autonomous AI Agents
bbrbbq
0
300
強いチームと開発生産性
onk
PRO
34
11k
Featured
See All Featured
What's new in Ruby 2.0
geeforr
343
31k
Thoughts on Productivity
jonyablonski
67
4.3k
Automating Front-end Workflow
addyosmani
1366
200k
Being A Developer After 40
akosma
86
590k
Intergalactic Javascript Robots from Outer Space
tanoku
269
27k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
28
9.1k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
Raft: Consensus for Rubyists
vanstee
136
6.6k
How GitHub (no longer) Works
holman
310
140k
[RailsConf 2023] Rails as a piece of cake
palkan
52
4.9k
Teambox: Starting and Learning
jrom
133
8.8k
Building Better People: How to give real-time feedback that sticks.
wjessup
364
19k
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