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

Gossiping on node.js

Raul Pino
October 22, 2016

Gossiping on node.js

A web application essentially is a distributed application, where a client communicate with one or multiple servers, and despite fullstack developers code it all the time, we don’t acknowledge the fact that we are working with a distributed system. I’d like to present some of the different options we have to work on distributed communications using node.js, by implementing a simple version of the gossip protocol and dividing the subject in three categories: P2P tools (peer.js/P/freedom.js), Message passing frameworks (zeromq, klyng), Mix (capataz.js, lateral.js). As a conclusion I’ll be explaining the importance of these tools and protocols, and how distributed systems as a topic can help your career, your performance at your job, and even your community by creating new ways of communication.

Presented in NodeJSConf 2016 - http://nodejsconf.it/talk/gossiping-node-js
Examples: https://github.com/p1nox/gossiping_on_node

Raul Pino

October 22, 2016
Tweet

More Decks by Raul Pino

Other Decks in Technology

Transcript

  1. Who am I? • Born in Venezuela • Living in

    Chile • uBiome (we love bacteria) • Groupon Latam • <3 mortadella Github/Twitter: @p1nox 2
  2. What about that title? Bernini - Baldinucci - Borromini Gossiping

    on node.js! The Gossiper/Biographer! The protocol! The cool title! Yeah right (ʭ✧Д✧))ʭ୴ˍʓˍ 5
  3. Agenda • Gossip protocol • P2P libraries (demo) • Message

    passing frameworks (demo) • Mix implementations 6
  4. Gossip protocol Notes: • Same nodes can be picked multiple

    times. • Periods are not syncronised across nodes (so each node could have its own intervals). 12
  5. Gossip protocol Implementations: • Is rumored that AWS EC2 and

    S3 uses it (postmortems refers to gossip messages). • Cassandra uses gossip to maintain membership lists in the system. • Usenet NNTP from the 70's (Network News Transport Protocol). 13
  6. P2P libraries • peer.js - http:/ /peerjs.com • freedom.js -

    http:/ /www.freedomjs.org • P - http:/ /unsetbit.com/p 15
  7. Takeaways Hot topics: • Descentralized web. • Distributed computing. •

    P2P communications. • Blockchain. Ultimate goal: A decentralized web would give power back to the people online Matthew Hodgson (matrix.org in TC) 24