Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

NullMQ @ PDX

11.809 Aufrufe

Veröffentlicht am

Veröffentlicht in: Technologie, Bildung
  • Was a little hesitant about using ⇒⇒⇒WRITE-MY-PAPER.net ⇐⇐⇐ at first, but am very happy that I did. The writer was able to write my paper by the deadline and it was very well written. So guys don’t hesitate to use it.
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Dating direct: ♥♥♥ http://bit.ly/2F4cEJi ♥♥♥
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • Sex in your area is here: ❶❶❶ http://bit.ly/2F4cEJi ❶❶❶
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier
  • DOWNLOAD THIS BOOKS INTO AVAILABLE FORMAT (2019 Update) ......................................................................................................................... ......................................................................................................................... Download Full PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download Full EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download Full doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download PDF EBOOK here { https://soo.gd/irt2 } ......................................................................................................................... Download EPUB Ebook here { https://soo.gd/irt2 } ......................................................................................................................... Download doc Ebook here { https://soo.gd/irt2 } ......................................................................................................................... ......................................................................................................................... ................................................................................................................................... eBook is an electronic version of a traditional print book THIS can be read by using a personal computer or by using an eBook reader. (An eBook reader can be a software application for use on a computer such as Microsoft's free Reader application, or a book-sized computer THIS is used solely as a reading device such as Nuvomedia's Rocket eBook.) Users can purchase an eBook on diskette or CD, but the most popular method of getting an eBook is to purchase a downloadable file of the eBook (or other reading material) from a Web site (such as Barnes and Noble) to be read from the user's computer or reading device. Generally, an eBook can be downloaded in five minutes or less ......................................................................................................................... .............. Browse by Genre Available eBooks .............................................................................................................................. Art, Biography, Business, Chick Lit, Children's, Christian, Classics, Comics, Contemporary, Cookbooks, Manga, Memoir, Music, Mystery, Non Fiction, Paranormal, Philosophy, Poetry, Psychology, Religion, Romance, Science, Science Fiction, Self Help, Suspense, Spirituality, Sports, Thriller, Travel, Young Adult, Crime, Ebooks, Fantasy, Fiction, Graphic Novels, Historical Fiction, History, Horror, Humor And Comedy, ......................................................................................................................... ......................................................................................................................... .....BEST SELLER FOR EBOOK RECOMMEND............................................................. ......................................................................................................................... Blowout: Corrupted Democracy, Rogue State Russia, and the Richest, Most Destructive Industry on Earth,-- The Ride of a Lifetime: Lessons Learned from 15 Years as CEO of the Walt Disney Company,-- Call Sign Chaos: Learning to Lead,-- StrengthsFinder 2.0,-- Stillness Is the Key,-- She Said: Breaking the Sexual Harassment Story THIS Helped Ignite a Movement,-- Atomic Habits: An Easy & Proven Way to Build Good Habits & Break Bad Ones,-- Everything Is Figureoutable,-- What It Takes: Lessons in the Pursuit of Excellence,-- Rich Dad Poor Dad: What the Rich Teach Their Kids About Money THIS the Poor and Middle Class Do Not!,-- The Total Money Makeover: Classic Edition: A Proven Plan for Financial Fitness,-- Shut Up and Listen!: Hard Business Truths THIS Will Help You Succeed, ......................................................................................................................... .........................................................................................................................
       Antworten 
    Sind Sie sicher, dass Sie …  Ja  Nein
    Ihre Nachricht erscheint hier

NullMQ @ PDX

  1. 1. NullMQ ZEROMQ SEMANTICS IN THE BROWSERJeff Lindsay Bulat Shakirzyanov@progrium @avalanche123
  2. 2. libzmq
  3. 3. High-level patterns libzmq
  4. 4. PhilosophyHigh-level patterns libzmq
  5. 5. PhilosophyHigh-level patterns libzmq
  6. 6. PhilosophyHigh-level patterns API / Semantics libzmq
  7. 7. Toolkit for building messaging systems...
  8. 8. Toolkit for building messaging systems... ...behind your firewall
  9. 9. Toolkit for building messaging systems... ...behind your firewall ...not for customers
  10. 10. Toolkit for building messaging systems... ...behind your firewall ...not for customers ...certainly not with the browser
  11. 11. WITH VOICE MAKE & RECEIVE PHONE CALLS SEND & RECEIVE TEXT MESSAGES INSTANTLY BUY PHONE NUMBERS ADD VOICE TO WEB & MOBILE APPS
  12. 12. Browser Browser
  13. 13. ZeroMQ in the browser?
  14. 14. ZeroMQ in the browser? • libzmq is a C++ library
  15. 15. ZeroMQ in the browser? • libzmq is a C++ library • Browser extension not viable
  16. 16. ZeroMQ in the browser? • libzmq is a C++ library • Browser extension not viable • ZMTP is not valuable by itself
  17. 17. Let’s say we did...
  18. 18. Let’s say we did... • Security?
  19. 19. Let’s say we did... • Security? • Skip existing auth infrastructure
  20. 20. Let’s say we did... • Security? • Skip existing auth infrastructure • Need to make something up
  21. 21. Let’s say we did... • Security? • Skip existing auth infrastructure • Need to make something up • Direct connections?
  22. 22. Let’s say we did... • Security? • Skip existing auth infrastructure • Need to make something up • Direct connections? • Lots of open connections, open ports
  23. 23. Let’s say we did... • Security? • Skip existing auth infrastructure • Need to make something up • Direct connections? • Lots of open connections, open ports • Just not “web friendly”
  24. 24. PhilosophyHigh-level patterns API / Semantics libzmq
  25. 25. PhilosophyHigh-level patterns API / Semantics libzmq
  26. 26. What do we want?
  27. 27. What do we want?• Near feature/semantic parity with ZeroMQ
  28. 28. What do we want?• Near feature/semantic parity with ZeroMQ• Throughput performance not as important
  29. 29. What do we want?• Near feature/semantic parity with ZeroMQ• Throughput performance not as important• Embrace nature of the web in design
  30. 30. What do we want?• Near feature/semantic parity with ZeroMQ• Throughput performance not as important• Embrace nature of the web in design• Single connection, service multiplexing
  31. 31. What do we want?• Near feature/semantic parity with ZeroMQ• Throughput performance not as important• Embrace nature of the web in design• Single connection, service multiplexing• Use existing transports, protocols, etc
  32. 32. NullMQ What do we want?• Near feature/semantic parity with ZeroMQ• Throughput performance not as important• Embrace nature of the web in design• Single connection, service multiplexing• Use existing transports, protocols, etc
  33. 33. What do we have?
  34. 34. WebSocket
  35. 35. WebSocket• ZMTP over WebSocket?
  36. 36. WebSocket• ZMTP over WebSocket? • Connection inefficient
  37. 37. WebSocket• ZMTP over WebSocket? • Connection inefficient • Not extensible
  38. 38. WebSocket• ZMTP over WebSocket? • Connection inefficient • Not extensible • No easy parsers
  39. 39. WebSocket
  40. 40. WebSocket• STOMP over WebSocket?
  41. 41. WebSocket• STOMP over WebSocket? • Existing parsers, easy to write
  42. 42. WebSocket• STOMP over WebSocket? • Existing parsers, easy to write • Very much like HTTP
  43. 43. WebSocket• STOMP over WebSocket? • Existing parsers, easy to write • Very much like HTTP • Used primarily to multiplex
  44. 44. NullMQ
  45. 45. var url = "ws://hostname/gateway";var ctx = new nullmq.Context(url);socket = ctx.socket(nullmq.REP);socket.bind("nullmq://echo");socket.recvall(function(request) { socket.send("Got: "+request);});
  46. 46. var url = "ws://hostname/gateway";var ctx = new nullmq.Context(url);socket = ctx.socket(nullmq.REQ);socket.connect("nullmq://echo");socket.send("Hello world!");socket.recv(function(reply) { console.log(reply); // "Got: Hello world!"});
  47. 47. Browser ServerApplication Application NullMQ NullMQ STOMP STOMP WebSocket WebSocket
  48. 48. Browser Gateway BackendApplication Bridge ZMQ Socket NullMQ NullMQ ZMQ Socket STOMP STOMP ZMQ SocketWebSocket WebSocket
  49. 49. Presence Demo
  50. 50. NullMQ http://github.com/progrium/nullmqhttp://groups.google.com/group/nullmq @progrium @avalanche123
  51. 51. STOMP
  52. 52. STOMP• Simple and human-readable like HTTP
  53. 53. STOMP• Simple and human-readable like HTTP• Extensible via headers
  54. 54. STOMP• Simple and human-readable like HTTP• Extensible via headers• Library and server support
  55. 55. STOMP• Simple and human-readable like HTTP• Extensible via headers• Library and server support• An easy WebSocket subprotocol
  56. 56. STOMP• Simple and human-readable like HTTP• Extensible via headers• Library and server support• An easy WebSocket subprotocol• Can be used to model “virtual connections”
  57. 57. STOMP• Simple and human-readable like HTTP• Extensible via headers• Library and server support• An easy WebSocket subprotocol• Can be used to model “virtual connections”• Transactions for multipart messages
  58. 58. STOMP “Extensions”1. Frames include socket type header2. Header for “connect” or “bind” in SUBSCRIBE3. Req-Rep messages use “reply-to” header

×