Introduction to ZeroMQ

2,042 views
1,919 views

Published on

For 2013 micro sessions of CNA@CCU.

Published in: Education, Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,042
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
76
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Introduction to ZeroMQ

  1. 1. Introduction toZeroMQHoward Lee2013/05/16113年5月17⽇日星期五
  2. 2. AnnounceØMQ, ZeroMQ, and 0MQ used in thisslides are trademarks of iMatixCorporationØMQ is copyright (c) Copyright (c)2007-2012 iMatix Corporation andContributors. ØMQ is free softwarelicensed under the LGPL.Above statements are referred from footerof its website213年5月17⽇日星期五
  3. 3. OutlineConceptDemoReference313年5月17⽇日星期五
  4. 4. If you have known these, you will knowwhat I sayJava, RubyNetwork programmingMultithreadBackground knowledge413年5月17⽇日星期五
  5. 5. Online chat room is a basic program forbeginner of network programming513年5月17⽇日星期五
  6. 6. How do you do when building a programof online chat-room for multi-players?613年5月17⽇日星期五
  7. 7. Centralize-typeServerClientClientClient713年5月17⽇日星期五
  8. 8. GoodWhat if the server broken......?813年5月17⽇日星期五
  9. 9. -- Howard Lee said :p2013.05.16Everything is important meansnothing is important913年5月17⽇日星期五
  10. 10. Everyone is a server meansno one is a server1013年5月17⽇日星期五
  11. 11. ClientClientClientDe-centralize1113年5月17⽇日星期五
  12. 12. Previous page about de-centralize usemany socketsMore sockets grow exponential when aclient joins!1213年5月17⽇日星期五
  13. 13. Here is1313年5月17⽇日星期五
  14. 14. Apply scenarios above pagesIt can do more!We only pick up above two scenarios attoday’s lightning session1413年5月17⽇日星期五
  15. 15. Actor modelDe-centralize --> zero brokerDistributed computingConcept1513年5月17⽇日星期五
  16. 16. Actor model in ZeroMQREQuest-REPlyPUBlish-SUBcribePipeline1613年5月17⽇日星期五
  17. 17. Actor model in ZeroMQOne machine can play many actorssimultaneouslyBetter scalability than data-centricdistributed computing because easier toextend1713年5月17⽇日星期五
  18. 18. REQuest-REPlyReference:https://github.com/imatix/zguide/raw/master/images/fig2.pngAfter successfully connected,REQ and REP can start to act likepin-pong1813年5月17⽇日星期五
  19. 19. REQuest-REPlyOnly suite for demonstrating simpleprogram of network chatting room toyour TA with limited condition: pin-pong action. lolYou can design your own transmitstrategy when speed of network aren’tstable for your file-transfer applicationaccording the time of response-receivedfrom other side.1913年5月17⽇日星期五
  20. 20. PUBlish-SUBscribePublisherPUBSUBSubscriberbindConnect ConnectSUBSubscriberSUBSubscriberConnectupdate2013年5月17⽇日星期五
  21. 21. PUBlish-SUBscribeScenario: News feedsMust explicitly assign subscribecondition: zmq_setsockoptAuto delivered if they are connectedsuccessfully2113年5月17⽇日星期五
  22. 22. PipelineAlways synchronizeworkers to startload balancing fromvent. to workerfair-queuing: Sinkcollect data fromworkersReference: https://github.com/imatix/zguide/raw/master/images/fig5.png2213年5月17⽇日星期五
  23. 23. Pipeline scenariosSupercomputingWireless sensor network...etc2313年5月17⽇日星期五
  24. 24. Dealerenhanced REQno restrict behaviors of send andreceiveRouterPrepend identity of originator tomessage before passing it to anotherapplication2413年5月17⽇日星期五
  25. 25. Example of Router and DealerReference: https://github.com/imatix/zguide/raw/master/images/fig17.png2513年5月17⽇日星期五
  26. 26. More actors modelRouterDealerPushPullPairI won’t explain details today2613年5月17⽇日星期五
  27. 27. Features2713年5月17⽇日星期五
  28. 28. De-centralizedReference:https://github.com/imatix/zguide/raw/master/images/fig8.png2813年5月17⽇日星期五
  29. 29. DistributedScalability2913年5月17⽇日星期五
  30. 30. DistributedScalability2913年5月17⽇日星期五
  31. 31. SocketsIPCThread communicationTCPMulticast...etc3013年5月17⽇日星期五
  32. 32. ZeroMQ CentralizedServer - REPlyClient - REQuestClient - REQuest3113年5月17⽇日星期五
  33. 33. AUto reconnectFirst, clients issue request ofconnectionLater, server binds a port to reply therequests from clientsCentralize3213年5月17⽇日星期五
  34. 34. AUto reconnectFirst, clients issue request ofconnectionLater, server binds a port to reply therequests from clientsCentralizeStrange!Not conventional3213年5月17⽇日星期五
  35. 35. Demo3313年5月17⽇日星期五
  36. 36. Code of REQ-REPhwserver.rbhwclient.rb3413年5月17⽇日星期五
  37. 37. Demo REQ-REP3513年5月17⽇日星期五
  38. 38. Code of PUB-SUBwuserver.rb wuclient.rb3613年5月17⽇日星期五
  39. 39. Demo PUB-SUB3713年5月17⽇日星期五
  40. 40. DemoPipelinetaskvent.rbtaskwork.rbtasksink.rb3813年5月17⽇日星期五
  41. 41. More examples are herehttps://github.com/imatix/zguide/tree/master/examples/3913年5月17⽇日星期五
  42. 42. 2011 SERN CERN comment ZeroMQ and otherframeworks, which based on COBRAhttp://www.zeromq.org/local--files/intro:read-the-manual/Middleware%20Trends%20and%20Market%20Leaders%202011.pdf4013年5月17⽇日星期五
  43. 43. ReferenceImplementing Distributed Applicationusing ZeroMQ http://www.slideshare.net/fcrippa/europycon2011-implementing-distributed-application-using-zeromqMultithread magic http://www.slideshare.net/pieterh/fosdem-2011-0mq4113年5月17⽇日星期五
  44. 44. ReferenceOverview of ZeroMQ http://www.slideshare.net/pieterh/overview-of-zeromq4213年5月17⽇日星期五
  45. 45. Question?4313年5月17⽇日星期五
  46. 46. Multi-players chatroom?Leave it to you :p4413年5月17⽇日星期五
  47. 47. FAQGet peer list?No4513年5月17⽇日星期五
  48. 48. NoticeThese slides has presented in microsession CNA@CCU 2013If I forgot to give a credit to you viareferring your content, I will append itto reference page as soon as you notifyme about that. :)4613年5月17⽇日星期五

×