Your SlideShare is downloading. ×
0
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

“Hvordan levere live-oppdateringer til mange brukere samtidig med Node.js?”, Dagbladets Gunnar Fornes på NONA12

1,801

Published on

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

  • Be the first to like this

No Downloads
Views
Total Views
1,801
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Skalerbare websocket-tjenester med Node.js
  • 2. Prosjekt: Dagbladet Livestudio
  • 3. Websockets• F5 -> Ajax -> Websockets• Websockets: Holder forbindelsen åpen• Ajax: Ringer opp på nytt• Kan gi oppdateringer i sanntid• Holde samtalen / ringe opp på nytt – En annen måte å se på det: • Å konstant holde F5-knappen nede
  • 4. Eksempler• Eksempel på websocket-tjenester: – Facebook, Twitter – Forex Trading: http://demo.kaazing.com/forex/ – Spaceships: https://developer.mozilla.org/media/uploads/demos/o/n/ond – Browserquest: http://browserquest.mozilla.org/
  • 5. Andre applikasjoner som kan dra nytte av websockets• Applikasjoner som trenger oppdateringer i sanntid• Responsivt debattforum• Google Docs-lignende applikasjoner – For eks for felles forside-redigering• Live børs-oversikt• Twitter-lignende applikasjoner• Interaktive multiplayer-spill for web
  • 6. Utvikler-verktøyene• Node.js – Webserver/nettverksapplikasjon – Brukes av blant annet Yahoo, Ebay, Linkedin, Microsoft Azure, Cloud9, Klout, Mockingbird• Socket.io – Populær node-modul for å jobbe med websocket-tilkoblinger• Redis – Gir skaleringsmuligheter – Brukes av blant annet Twitter, Digg, Disqus, Guardian, Stackoverflow, Flickr, Yahoo, Craigslist
  • 7. Hvordan bruker man verktøyene?• Første forsøk – Oppretter en node-applikasjon (webserver) som gjør alle oppgavene • Håndterer alle forespørsler • Håndterer alle websocket-tilkoblinger • Gjør alle lagringer/hentinger fra database
  • 8. Server 1 node app.js
  • 9. Bryter opp i flere node-apper• En node-app tar seg av websocket- tilkoblinger vha Socket.io• En node-app tar seg av frontend forespørsler – Bilder, html, javascript, css, osv, osv
  • 10. Server 1 node frontend.js node sockets.js
  • 11. Server 1 node frontend.js node sockets.js Problemet:Får fortsatt bare 10000 tilkoblinger på EN socket-server app
  • 12. Server 1 node frontend.js node sockets.js node sockets.js node sockets.js node sockets.js
  • 13. Server 1 Socket-server 1 node frontend.js Socket-server 2 node sockets.js node sockets.js node sockets.js node sockets.js
  • 14. Server 1 Socket-server 1 node frontend.js Socket-server 2 node sockets.js node sockets.js Problemet: node sockets.js Brukere som er tilkoblet til server 1 får ikke meldingene fra server 2,3 node sockets.js eller 4
  • 15. Server 1 Socket-server 1 node frontend.js Socket-server 2 node sockets.js node sockets.js node sockets.js Problemet: Hvordan får brukere koblet til Socket-server 1 meldinger fra node sockets.js Socket-server 2 ? Redis
  • 16. Server 1 node frontend.js node sockets.js node sockets.js node redis.js node sockets.js node sockets.js
  • 17. Server 1 node frontend.js node sockets.js node sockets.js node redis.js node sockets.js node sockets.js Ca 40 000 websocket-tilkoblinger
  • 18. Server frontend x 8 redisServer Server socket x 8 socket x 8 Ca 160 000 websocket-tilkoblinger
  • 19. redis socketx8 socketx8 socketx8 socketx8 browsereCa 320 000 websocket-tilkoblinger
  • 20. redis redis redis redis sockets sockets socketssockets sockets sockets sockets sockets sockets sockets sockets sockets Ca 1 000 000 websocket-tilkoblinger
  • 21. Hovedpoenget• Websockets gir enorme muligheter for hva man kan lage• Node.js gjør det enkelt for utviklere å bygge websocket-tjenester som skalerer

×