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
Goss: Faiss向けの新しい本番環境対応 Goバインディング #coefl_go_jp
bengo4com
0
1.4k
実践アプリケーション設計 ③ドメイン駆動設計
recruitengineers
PRO
1
180
イオン店舗一覧ページのパフォーマンスチューニング事例 / Performance tuning example for AEON store list page
aeonpeople
2
280
新規案件の立ち上げ専門チームから見たAI駆動開発の始め方
shuyakinjo
0
110
[CV勉強会@関東 CVPR2025 読み会] MegaSaM: Accurate, Fast, and Robust Structure and Motion from Casual Dynamic Videos (Li+, CVPR2025)
abemii
0
190
実践データベース設計 ①データベース設計概論
recruitengineers
PRO
2
210
サービスロボット最前線:ugoが挑むPhysical AI活用
kmatsuiugo
0
190
Postman MCP 関連機能アップデート / Postman MCP feature updates
yokawasa
0
150
RAID6 を楔形文字で組んで現代人を怖がらせましょう(実装編)
mimifuwa
0
300
AIエージェントの開発に必須な「コンテキスト・エンジニアリング」とは何か──プロンプト・エンジニアリングとの違いを手がかりに考える
masayamoriofficial
0
380
会社にデータエンジニアがいることでできるようになること
10xinc
9
1.6k
浸透しなさいRFC 5322&7208
hinono
0
120
Featured
See All Featured
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
1k
Building Applications with DynamoDB
mza
96
6.6k
The Power of CSS Pseudo Elements
geoffreycrofte
77
5.9k
Into the Great Unknown - MozCon
thekraken
40
2k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
183
54k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
131
19k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Side Projects
sachag
455
43k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
15
1.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
43
7.5k
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