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
Zeromq: Mutant socket invasion
Search
whitmo
February 14, 2014
Programming
1
100
Zeromq: Mutant socket invasion
Intro to 0mq given to pynash 2014-02-13
whitmo
February 14, 2014
Tweet
Share
More Decks by whitmo
See All by whitmo
'strap
whitmo
1
63
Other Decks in Programming
See All in Programming
Claude Code on the Web を超える!? Codex Cloud の実践テク5選
sunagaku
0
550
問題の見方を変える「システム思考」超入門
panda_program
0
200
Rails Girls Sapporo 2ndの裏側―準備の日々から見えた、私が得たもの / SAPPORO ENGINEER BASE #11
lemonade_37
2
160
Functional Calisthenics in Kotlin: Kotlinで「関数型エクササイズ」を実践しよう
lagenorhynque
0
130
Bakuraku E2E Scenario Test System Architecture #bakuraku_qa_study
teyamagu
PRO
0
750
JEP 496 と JEP 497 から学ぶ耐量子計算機暗号入門 / Learning Post-Quantum Crypto Basics from JEP 496 & 497
mackey0225
2
280
OSS開発者の憂鬱
yusukebe
12
4.2k
FlutterKaigi 2025 システム裏側
yumnumm
0
1.1k
Core MIDI を勉強して作曲用の電子ピアノ作ってみた!
hypebeans
0
110
Module Harmony
petamoriken
2
340
SUZURIの規約違反チェックにおけるクリエイタフィードバックの試⾏錯誤/Trial and Error in Creator Feedback for SUZURI's Terms of Service Violation Checks
ae14watanabe
1
150
What’s Fair is FAIR: A Decentralised Future for WordPress Distribution
rmccue
0
180
Featured
See All Featured
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.1k
Code Reviewing Like a Champion
maltzj
527
40k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Navigating Team Friction
lara
190
15k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Intergalactic Javascript Robots from Outer Space
tanoku
273
27k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8k
Transcript
ØMQ Mutant Socket Invasion http://github.com/whitmo/0mq-talk
Who am I Systems Engineer at SurveyMonkey Python user since
2002, python 2.2 Author of PoachEggs http://github.com/whitmo @whit Zope/Plone Survivor
an opinionated approach to messaging ØMQ is
ØMQ is not • A queue • A direct substitute
for a message broker • An instant pancea for scaling problems
A library providing a socket-like api hiding alot of annoying
boilerplate for sane communication between parallel or concurrent executing code
Polyglot • binding to C++ libs in most languages •
native bindings in .net, F#, java • nullmq work alike for browser js
serialization agnostic
Locational Transparency • IPC • TCP • PGM Not a
neutral carrier (in general)
Easy Actors
Python (f*ck yeah) • pyzmq • pyczmq
simple message
Multi part envelope
Messaging Legos • REQ - REP • PUSH - PULL
• PUB - SUB • ROUTER, DEALER and friends
REQ Syncronous request
PUSH - PULL Pipeline / Fan out
REP Syncronous reply
PUB - SUB Broadcast and subscription
DEALER Envelope aware nonblocking IO
ROUTER Envelope aware nonblocking IO that routes responses
Request/Response • REQ to REP • DEALER to REP •
REQ to ROUTER • DEALER to ROUTER • DEALER to DEALER • ROUTER to ROUTER
Show me the code already
Python projects • pyre • salt • ansible • circus
• locust • fedmsg • ipython • zerorpc • zarkov • brubeck