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
The Message Queue is Dead, Long Live the Messag...
Search
Mathias Meyer
April 22, 2013
Technology
4
700
The Message Queue is Dead, Long Live the Message Queue
Ramblings and thought experiments on message queues
Mathias Meyer
April 22, 2013
Tweet
Share
More Decks by Mathias Meyer
See All by Mathias Meyer
Building and Scaling an Distributed and Inclusive Team
roidrage
0
1.3k
cooking infrastructure with chef
roidrage
4
230
riak-js
roidrage
1
280
designing for concurrency with riak
roidrage
11
1.8k
metrics, monitoring, logging
roidrage
82
15k
design for cloud - jax 2012
roidrage
2
300
A Riak Query Tale
roidrage
5
1k
Don't Use NoSQL
roidrage
10
1.1k
Designing Applications for Amazon Web Services (GOTO Aarhus)
roidrage
6
360
Other Decks in Technology
See All in Technology
Agent Development Kitで始める生成 AI エージェント実践開発
danishi
0
150
✨敗北解法コレクション✨〜Expertだった頃に足りなかった知識と技術〜
nanachi
1
690
Foundation Model × VisionKit で実現するローカル OCR
sansantech
PRO
1
350
Intro to Software Startups: Spring 2025
arnabdotorg
0
250
AIエージェントを現場で使う / 2025.08.07 著者陣に聞く!現場で活用するためのAIエージェント実践入門(Findyランチセッション)
smiyawaki0820
6
1k
Findy Freelance 利用シーン別AI活用例
ness
0
470
JAWS AI/ML #30 AI コーディング IDE "Kiro" を触ってみよう
inariku
3
360
相互運用可能な学修歴クレデンシャルに向けた標準技術と国際動向
fujie
0
240
Lambda management with ecspresso and Terraform
ijin
2
160
AI時代の経営、Bet AI Vision #BetAIDay
layerx
PRO
1
2k
Eval-Centric AI: Agent 開発におけるベストプラクティスの探求
asei
0
120
Oracle Exadata Database Service on Cloud@Customer X11M (ExaDB-C@C) サービス概要
oracle4engineer
PRO
2
6.3k
Featured
See All Featured
Building an army of robots
kneath
306
45k
Bash Introduction
62gerente
614
210k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Git: the NoSQL Database
bkeepers
PRO
431
65k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.4k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
Reflections from 52 weeks, 52 projects
jeffersonlam
351
21k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
26k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
760
Transcript
the message queue is dead railsberry 2013, mathias meyer, @roidrage
travis-ci.org
None
None
None
the golden rules of message queues
#1 everything is a queue
www email upload live updates
rabbitmq activemq mqseries nsq beanstalkd sqs gearman qless kafka kestrel
qpid sidekiq resque zeromq celery mqseries stormmq amqp jms hornetq swiftmq delayed_job
tasks
publish/subscribe
publish/subscribe
broker
None
log streaming databass
None
unbounded queues
#2 a queue is either empty or infinitely full
the art of capacity planning
50 msg * 60 seconds * 30 minutes = 90000
msg
peak capacity: 120 msg/s
90000 msg / 120 msg/s = 12,5 min
None
#3 whenever something breaks, it's a queue backing up or
dropping messages
None
databass x x P x
None
retry databass x x P x
exponential backoff databass x x P x
handling queues involves business decisions
a thought experiment
message queues introduce tight coupling
hide the queue api
api
api
the queue is dead, long live the queue
no berries were harmed © railsberry