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

Realtime with NodeJS - Hornet (French)

Realtime with NodeJS - Hornet (French)

French presentation I gave for local Ruby user group in septembre 2011. I spoke about how NodeJS can help dev to extend an existing application with realtime features. Speak was about 20 minutes long followed by a live coding session.

Robin Komiwes

April 06, 2012
Tweet

More Decks by Robin Komiwes

Other Decks in Technology

Transcript

  1. temps réel
    du
    pour vos applications Web
    NodeJS + Redis (+ démo avec Ruby on Rails)
    vendredi 30 septembre 11

    View Slide

  2. Robin Komiwes
    nectup
    nectify
    FRESC
    vendredi 30 septembre 11

    View Slide

  3. 15’
    vendredi 30 septembre 11

    View Slide

  4. 15’
    C’est court.
    13’
    vendredi 30 septembre 11

    View Slide

  5. 1 façon simple d’ajouter
    du temps réel à vos applications web
    vendredi 30 septembre 11

    View Slide

  6. Qu’est ce que j’entends
    par temps réel?
    • Pouvoir pousser des informations à un
    ensemble de clients le plus instantanément
    possible
    • Une expérience utilisateur plus riche
    vendredi 30 septembre 11

    View Slide

  7. Qu’est ce que j’entends
    par temps réel?
    • Pouvoir pousser des informations à un
    ensemble de clients le plus instantanément
    possible
    • Une expérience utilisateur plus riche
    timelines, chats, notifications, évènements,
    tracé de graphiques temps réel etc.
    vendredi 30 septembre 11

    View Slide

  8. Pourquoi le temps
    réel web déconnait?
    nos langages favoris
    =
    threads
    =
    consommation mémoire
    vendredi 30 septembre 11

    View Slide

  9. Pourquoi le temps
    réel web déconnait?
    nos langages favoris
    =
    threads
    =
    consommation mémoire
    *Google : C10K
    PROBLÈME*
    vendredi 30 septembre 11

    View Slide

  10. Pourquoi aujourd’hui
    ça peut marcher?
    langages asynchrones
    =
    - de threads
    =
    - de consommation mémoire
    vendredi 30 septembre 11

    View Slide

  11. Pourquoi aujourd’hui
    ça peut marcher?
    langages asynchrones
    =
    - de threads
    =
    - de consommation mémoire
    SOLUTION
    vendredi 30 septembre 11

    View Slide

  12. Application classique
    Rails
    Client
    Base de données
    vendredi 30 septembre 11

    View Slide

  13. Application classique
    Rails
    Client
    Base de données
    NodeJS
    Couche temps réel
    Redis
    *socket.io
    vendredi 30 septembre 11

    View Slide

  14. Application classique
    Rails
    Client
    Base de données
    NodeJS
    Couche temps réel
    Redis
    *socket.io
    BUS DE MESSAGES
    vendredi 30 septembre 11

    View Slide

  15. NoSQL : réponse aux limites des
    moteurs SQL classiques, la
    charge.
    PUB(lish)/SUB(scribe) : publication de messages et
    notifications aux abonnés
    Redis
    vendredi 30 septembre 11

    View Slide

  16. Rails publie sur Redis qui notifie NodeJS
    vendredi 30 septembre 11

    View Slide

  17. NodeJS
    Javascript : tout le monde connait Javascript !
    + Couche I/O asynchrone
    vendredi 30 septembre 11

    View Slide

  18. NodeJS
    Javascript : tout le monde connait Javascript !
    + Couche I/O asynchrone
    + Google V8 : ça va très vite
    = Javascript coté serveur hautes performances
    ( + beaucoup de fun ! )
    vendredi 30 septembre 11

    View Slide

  19. + Socket.io
    • Librairie NodeJS
    • Négocie le transport (Websocket, long polling...)
    • Propose une interface indépendante
    • Enormément de followers Github
    + Hornet (par nectify!)
    • Surcouche Socket.io
    • Propose des connecteurs pour les applications existantes
    • Ajoute de la sécurité. *sic!*
    vendredi 30 septembre 11

    View Slide

  20. NodeJS (via Socket.io (via Hornet))
    envoie des messages en temps réel
    aux clients connectés et concernés
    vendredi 30 septembre 11

    View Slide

  21. SHOW TIME
    vendredi 30 septembre 11

    View Slide

  22. Vous étendez votre architecture
    existante
    Résumé
    vendredi 30 septembre 11

    View Slide

  23. Résumé
    La communication temps réelle
    est à sens unique.
    Ce qui est bien.
    vendredi 30 septembre 11

    View Slide

  24. La solution peut monter en charge
    facilement.
    Résumé
    vendredi 30 septembre 11

    View Slide

  25. Robin Komiwes
    twitter : @robinkomiwes
    github : robink
    email : [email protected]
    vendredi 30 septembre 11

    View Slide