Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Zeromq: Mutant socket invasion

Ebc7c8a61af3b1d9df1f31b6ab8648f4?s=47 whitmo
February 14, 2014

Zeromq: Mutant socket invasion

Intro to 0mq given to pynash 2014-02-13

Ebc7c8a61af3b1d9df1f31b6ab8648f4?s=128

whitmo

February 14, 2014
Tweet

More Decks by whitmo

Other Decks in Programming

Transcript

  1. ØMQ Mutant Socket Invasion http://github.com/whitmo/0mq-talk

  2. 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
  3. an opinionated approach to messaging ØMQ is

  4. ØMQ is not • A queue • A direct substitute

    for a message broker • An instant pancea for scaling problems
  5. A library providing a socket-like api hiding alot of annoying

    boilerplate for sane communication between parallel or concurrent executing code
  6. Polyglot • binding to C++ libs in most languages •

    native bindings in .net, F#, java • nullmq work alike for browser js
  7. serialization agnostic

  8. Locational Transparency • IPC • TCP • PGM Not a

    neutral carrier (in general)
  9. Easy Actors

  10. Python (f*ck yeah) • pyzmq • pyczmq

  11. simple message

  12. Multi part envelope

  13. Messaging Legos • REQ - REP • PUSH - PULL

    • PUB - SUB • ROUTER, DEALER and friends
  14. REQ Syncronous request

  15. PUSH - PULL Pipeline / Fan out

  16. REP Syncronous reply

  17. PUB - SUB Broadcast and subscription

  18. DEALER Envelope aware nonblocking IO

  19. ROUTER Envelope aware nonblocking IO that routes responses

  20. Request/Response • REQ to REP • DEALER to REP •

    REQ to ROUTER • DEALER to ROUTER • DEALER to DEALER • ROUTER to ROUTER
  21. Show me the code already

  22. Python projects • pyre • salt • ansible • circus

    • locust • fedmsg • ipython • zerorpc • zarkov • brubeck