Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
The Message Queue is Dead, Long Live the Message Queue
Mathias Meyer
April 22, 2013
Technology
4
600
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
970
cooking infrastructure with chef
roidrage
4
210
riak-js
roidrage
1
260
designing for concurrency with riak
roidrage
11
1.6k
metrics, monitoring, logging
roidrage
82
14k
design for cloud - jax 2012
roidrage
2
270
A Riak Query Tale
roidrage
5
970
Don't Use NoSQL
roidrage
10
1k
Designing Applications for Amazon Web Services (GOTO Aarhus)
roidrage
6
310
Other Decks in Technology
See All in Technology
WINTICKET QA における Autify 活用
kj455
1
180
ステート管理を超えるRecoil運用の考え方
uhyo
7
5.1k
Hasuraの本番運用に向けて
nori3tsu
0
250
- Rでオブジェクト指向プログラミング- クラス設計入門の入門
kotatyamtema
1
530
ERC3525 Semi-Fungible token
sbtechnight
0
320
ML PM, DS PMってどんな仕事をしているの?
line_developers
PRO
1
170
F1 Ochanomizu GP '23
miholovesq
0
630
「私考える人、あなた作業する人」を越えて、プロダクトマネジメントがあたりまえになるチームを明日から実現していく方法/product management rsgt2023
moriyuya
60
38k
Janus
bkuhlmann
0
120
Things you should know about PHP
opdavies
1
470
Kubernetes_EKSに入門してみる
toru_kubota
0
220
Optimizing your Swift code
kateinoigakukun
0
1.3k
Featured
See All Featured
Designing for humans not robots
tammielis
245
24k
Bash Introduction
62gerente
601
210k
How GitHub (no longer) Works
holman
298
140k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
10
1.3k
How to train your dragon (web standard)
notwaldorf
66
4.2k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
175
9.1k
Ruby is Unlike a Banana
tanoku
93
9.5k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
270
12k
GitHub's CSS Performance
jonrohan
1020
430k
The Power of CSS Pseudo Elements
geoffreycrofte
52
4.3k
Side Projects
sachag
451
37k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
22
1.7k
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