SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
What is node.js?
●   Server-side Javascript
●   Built on Google’s V8
●   Evented, non-blocking I/O.
●   EventMachine or Twisted.
●   CommonJS module system.
●   8000 lines of C/C++, 2000 lines of Javascript, 14
      contributors.
Main Goal



      To provide a purely evented,
      non-blocking infrastructure to
   script highly concurrent programs.
Why Evented?
Apache vs NGINX
 concurrency ×
   reqs/sec




                 http://blog.webfaction.com/a-little-holiday-present
Apache vs NGINX
 concurrency ×
    memory




                 http://blog.webfaction.com/a-little-holiday-present
Apache vs NGINX

The difference?

Apache uses one thread per
Connection.

NGINX doesn’t use threads. It uses
an event loop.

For massive concurrency, cannot
use an OS thread for each
connection.
Javascript designed specifically to be used with an
  event loop:
   ●   Anonymous functions, closures.
   ●   Only one callback at a time.
   ●   I/O through DOM event callbacks.


The culture of Javascript is already geared towards
 evented programming.
Why non-blocking?
Design Goals
Design Goals
●   No function should direct perform I/O.
●   To receive info from disk, network, or
    another process there must be a callback.
Code like this




either blocks the entire process or
 implies multiple execution stacks.
But a line of code like this




allows the program to return to the
event loop immediately.

No machinery required.

This is how I/O should be done.
Design Goals
●   Low-level.
●   Stream everything; never force the buffering of
      data.
●   Have built-in support for the most important
     protocols:
       ●   TCP
       ●   DNS
       ●   HTTP
Design Goals
●   Support many HTTP features.
       ●   Chunked requests and responses.
       ●   Keep-alive.
       ●   Hang requests for comet applications.
Design Goals
●   The API should be both familiar to client-side JS
     programmers and old school UNIX hackers.
●   Be platform independent.
Speed
Benchmarks
●   nginx v0.7.65
●   node v0.1.91
●   tornado v0.2 (python 2.6.4)
●   thin v1.2.7 (ruby 1.9.1-p376)


    In Linux using a Intel Core 2 Due 2.53, 4 GB
      memory
The standard ‘hello world’ concurrency benchmark.


(Approximately 100 byte response for each.)
How do the servers perform when
the concurrency is fixed at 300, but
  serve different response sizes.



This is what the node version looks
         like, approximately
Wow. Node sucks at serving large files.



Well over 3 second responses for 256 kilobyte
files at 300 concurrent connections.
What’s happening:



V8 has a generational garbage collector. Moves
objects around randomly.

Node can’t get a pointer to raw string
data to write to socket.
Using Node’s new Buffer object,
      the results change.
Installation




 https://github.com/joyent/node/wiki/Installation

Contenu connexe

Tendances

Red Hat Container Development Kit
Red Hat Container Development KitRed Hat Container Development Kit
Red Hat Container Development KitLalatendu Mohanty
 
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekOpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekNETWAYS
 
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaOpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaNETWAYS
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Docker, Inc.
 
Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...
Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...
Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...Publicis Sapient Engineering
 
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebula Project
 
Integracia security do ci cd pipelines
Integracia security do ci cd pipelinesIntegracia security do ci cd pipelines
Integracia security do ci cd pipelinesJuraj Hantak
 
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)Hendri Karisma
 
A little nginx (1)
A little nginx (1)A little nginx (1)
A little nginx (1)yang bingwu
 
NodeJS_Presentation
NodeJS_PresentationNodeJS_Presentation
NodeJS_PresentationArpita Patel
 
Atmosphere packages and the chuck norris effect
Atmosphere packages and the chuck norris effectAtmosphere packages and the chuck norris effect
Atmosphere packages and the chuck norris effectFabian Kromer
 
Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)Igalia
 
Intro to creating kubernetes operators
Intro to creating kubernetes operators Intro to creating kubernetes operators
Intro to creating kubernetes operators Juraj Hantak
 

Tendances (20)

DevOps in realtime
DevOps in realtimeDevOps in realtime
DevOps in realtime
 
Red Hat Container Development Kit
Red Hat Container Development KitRed Hat Container Development Kit
Red Hat Container Development Kit
 
Mastering the pipeline
Mastering the pipelineMastering the pipeline
Mastering the pipeline
 
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan HoracekOpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
OpenNebula Conf 2014 | Lightning talk: OpenNebula at Etnetera by Jan Horacek
 
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph GaluschkaOpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
OpenNebula Conf 2014: CentOS, QA an OpenNebula - Christoph Galuschka
 
Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)Kubernetes CRI containerd integration by Lantao Liu (Google)
Kubernetes CRI containerd integration by Lantao Liu (Google)
 
Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...
Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...
Paris Container Day 2016 : Cloud de conteneurs, conteneurs dans le cloud, str...
 
Docker off the grid
Docker off the gridDocker off the grid
Docker off the grid
 
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
OpenNebulaConf2018 - Welcome and Project Update - Ignacio M. Llorente, Rubén ...
 
Integracia security do ci cd pipelines
Integracia security do ci cd pipelinesIntegracia security do ci cd pipelines
Integracia security do ci cd pipelines
 
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
Slide Seminar Open Source (CodeLabs UNIKOM Bandung)
 
oVirt – open your virtual datacenter
oVirt – open your virtual datacenteroVirt – open your virtual datacenter
oVirt – open your virtual datacenter
 
A little nginx (1)
A little nginx (1)A little nginx (1)
A little nginx (1)
 
NodeJS_Presentation
NodeJS_PresentationNodeJS_Presentation
NodeJS_Presentation
 
Atmosphere packages and the chuck norris effect
Atmosphere packages and the chuck norris effectAtmosphere packages and the chuck norris effect
Atmosphere packages and the chuck norris effect
 
Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)Streams API (Web Engines Hackfest 2015)
Streams API (Web Engines Hackfest 2015)
 
Intro to creating kubernetes operators
Intro to creating kubernetes operators Intro to creating kubernetes operators
Intro to creating kubernetes operators
 
Quarkus k8s
Quarkus   k8sQuarkus   k8s
Quarkus k8s
 
node.js
node.jsnode.js
node.js
 
Docker. General overview
Docker. General overviewDocker. General overview
Docker. General overview
 

En vedette

NEW WORLD COMING
NEW WORLD COMINGNEW WORLD COMING
NEW WORLD COMINGjpscheller
 
Pre bim upper interm 2 p 2014
Pre bim upper interm 2 p 2014Pre bim upper interm 2 p 2014
Pre bim upper interm 2 p 2014darkcrow08
 
Bologna leaflet web
Bologna leaflet webBologna leaflet web
Bologna leaflet webUAALCUE
 
Zarządzanie projektami kreatywnymi: kruczki i sztuczki
Zarządzanie projektami kreatywnymi: kruczki i sztuczkiZarządzanie projektami kreatywnymi: kruczki i sztuczki
Zarządzanie projektami kreatywnymi: kruczki i sztuczkiAlek Kowalczyk
 
Presentacion ingles
Presentacion  inglesPresentacion  ingles
Presentacion inglessimon
 
Phm 1.1.5(Harman S. Gahir)
Phm 1.1.5(Harman S. Gahir)Phm 1.1.5(Harman S. Gahir)
Phm 1.1.5(Harman S. Gahir)Harman Gahir
 
Serial Entrepreneur Series - All Rights Reserved, 2012
Serial Entrepreneur Series - All Rights Reserved, 2012Serial Entrepreneur Series - All Rights Reserved, 2012
Serial Entrepreneur Series - All Rights Reserved, 2012Philogic
 
iprocurment Buyer Guide
iprocurment Buyer Guideiprocurment Buyer Guide
iprocurment Buyer GuideRazzy Jey
 
Ghadir khumm
Ghadir khummGhadir khumm
Ghadir khummTechnip
 
Overview 5 steps to apply for financial aid mod
Overview   5 steps to apply for financial aid modOverview   5 steps to apply for financial aid mod
Overview 5 steps to apply for financial aid modIan Josephs
 
嘔氣~不要跟你的愛人
嘔氣~不要跟你的愛人嘔氣~不要跟你的愛人
嘔氣~不要跟你的愛人meihung06
 
Food webcr
Food webcrFood webcr
Food webcrLM9
 

En vedette (20)

2011 (6) 1 15 apr
2011 (6) 1 15 apr2011 (6) 1 15 apr
2011 (6) 1 15 apr
 
NEW WORLD COMING
NEW WORLD COMINGNEW WORLD COMING
NEW WORLD COMING
 
Exploring membership 3
Exploring membership 3Exploring membership 3
Exploring membership 3
 
Pre bim upper interm 2 p 2014
Pre bim upper interm 2 p 2014Pre bim upper interm 2 p 2014
Pre bim upper interm 2 p 2014
 
Bologna leaflet web
Bologna leaflet webBologna leaflet web
Bologna leaflet web
 
Zarządzanie projektami kreatywnymi: kruczki i sztuczki
Zarządzanie projektami kreatywnymi: kruczki i sztuczkiZarządzanie projektami kreatywnymi: kruczki i sztuczki
Zarządzanie projektami kreatywnymi: kruczki i sztuczki
 
Presentacion ingles
Presentacion  inglesPresentacion  ingles
Presentacion ingles
 
slide vatgia
slide vatgiaslide vatgia
slide vatgia
 
Phm 1.1.5(Harman S. Gahir)
Phm 1.1.5(Harman S. Gahir)Phm 1.1.5(Harman S. Gahir)
Phm 1.1.5(Harman S. Gahir)
 
Serial Entrepreneur Series - All Rights Reserved, 2012
Serial Entrepreneur Series - All Rights Reserved, 2012Serial Entrepreneur Series - All Rights Reserved, 2012
Serial Entrepreneur Series - All Rights Reserved, 2012
 
iprocurment Buyer Guide
iprocurment Buyer Guideiprocurment Buyer Guide
iprocurment Buyer Guide
 
Let's Code
Let's CodeLet's Code
Let's Code
 
Raven
RavenRaven
Raven
 
Pharmacognosy 5th sem
Pharmacognosy 5th semPharmacognosy 5th sem
Pharmacognosy 5th sem
 
Ghadir khumm
Ghadir khummGhadir khumm
Ghadir khumm
 
Immigration
ImmigrationImmigration
Immigration
 
Overview 5 steps to apply for financial aid mod
Overview   5 steps to apply for financial aid modOverview   5 steps to apply for financial aid mod
Overview 5 steps to apply for financial aid mod
 
嘔氣~不要跟你的愛人
嘔氣~不要跟你的愛人嘔氣~不要跟你的愛人
嘔氣~不要跟你的愛人
 
Food webcr
Food webcrFood webcr
Food webcr
 
Saint louis science center
Saint louis science centerSaint louis science center
Saint louis science center
 

Similaire à Node.js Presentation

Deep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdfDeep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdfShubhamChaurasia88
 
Zero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesZero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesAlexander Penev
 
Comparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systemsComparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systemsImesha Sudasingha
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleDmytro Semenov
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2aspyker
 
Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxDmitry Kornilov
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthNicolas Brousse
 
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)Tech in Asia ID
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornMichel Graciano
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]Leonardo Zanivan
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITOpenStack
 

Similaire à Node.js Presentation (20)

Nodejs
NodejsNodejs
Nodejs
 
Netty training
Netty trainingNetty training
Netty training
 
Netty training
Netty trainingNetty training
Netty training
 
Deep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdfDeep Dive into Node.js Event Loop.pdf
Deep Dive into Node.js Event Loop.pdf
 
Zero Downtime JEE Architectures
Zero Downtime JEE ArchitecturesZero Downtime JEE Architectures
Zero Downtime JEE Architectures
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
 
Node.js scaling in highload
Node.js scaling in highloadNode.js scaling in highload
Node.js scaling in highload
 
Comparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systemsComparison between zookeeper, etcd 3 and other distributed coordination systems
Comparison between zookeeper, etcd 3 and other distributed coordination systems
 
Node.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scaleNode.js Web Apps @ ebay scale
Node.js Web Apps @ ebay scale
 
Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2Netflix Open Source Meetup Season 4 Episode 2
Netflix Open Source Meetup Season 4 Episode 2
 
Helidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptxHelidon Nima - Loom based microserfice framework.pptx
Helidon Nima - Loom based microserfice framework.pptx
 
Monkey Server
Monkey ServerMonkey Server
Monkey Server
 
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a MonthUSENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
USENIX LISA15: How TubeMogul Handles over One Trillion HTTP Requests a Month
 
Play Framework
Play FrameworkPlay Framework
Play Framework
 
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
"You Don't Know NODE.JS" by Hengki Mardongan Sihombing (Urbanhire)
 
CON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project NashornCON6423: Scalable JavaScript applications with Project Nashorn
CON6423: Scalable JavaScript applications with Project Nashorn
 
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
JavaOne 2014 - Scalable JavaScript Applications with Project Nashorn [CON6423]
 
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst ITThings You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
Things You MUST Know Before Deploying OpenStack: Bruno Lago, Catalyst IT
 
18_Node.js.ppt
18_Node.js.ppt18_Node.js.ppt
18_Node.js.ppt
 
Nodejs overview
Nodejs overviewNodejs overview
Nodejs overview
 

Plus de Exist

Postgres Powers Digital Transformation in Southeast Asia – Success Stories
Postgres Powers Digital Transformation in Southeast Asia – Success StoriesPostgres Powers Digital Transformation in Southeast Asia – Success Stories
Postgres Powers Digital Transformation in Southeast Asia – Success StoriesExist
 
Understanding Blockchain and Its Business Benefits
Understanding Blockchain and Its Business BenefitsUnderstanding Blockchain and Its Business Benefits
Understanding Blockchain and Its Business BenefitsExist
 
ブロックチェーンのビジネス上の利点を理解する
ブロックチェーンのビジネス上の利点を理解するブロックチェーンのビジネス上の利点を理解する
ブロックチェーンのビジネス上の利点を理解するExist
 
How to Select the Right Automation Testing Tool
How to Select the Right Automation Testing ToolHow to Select the Right Automation Testing Tool
How to Select the Right Automation Testing ToolExist
 
Advancing Global Competitiveness Through Digital Transformation and Big Data ...
Advancing Global Competitiveness Through Digital Transformation and Big Data ...Advancing Global Competitiveness Through Digital Transformation and Big Data ...
Advancing Global Competitiveness Through Digital Transformation and Big Data ...Exist
 
Exist Company Profile
Exist Company ProfileExist Company Profile
Exist Company ProfileExist
 
Exist Company Profile (Nihongo)
Exist Company Profile (Nihongo)Exist Company Profile (Nihongo)
Exist Company Profile (Nihongo)Exist
 
DX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図ります
DX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図りますDX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図ります
DX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図りますExist
 
Anahaw Retail Enterprise Solution
Anahaw Retail Enterprise SolutionAnahaw Retail Enterprise Solution
Anahaw Retail Enterprise SolutionExist
 
Understanding the state of your web application using Apache Kafka, Spark
Understanding the state of your web application using Apache Kafka, SparkUnderstanding the state of your web application using Apache Kafka, Spark
Understanding the state of your web application using Apache Kafka, SparkExist
 
The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...
The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...
The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...Exist
 
API-Centric Rails Web Apps and Hybrid Mobile App Integration
API-Centric Rails Web Apps and Hybrid Mobile App IntegrationAPI-Centric Rails Web Apps and Hybrid Mobile App Integration
API-Centric Rails Web Apps and Hybrid Mobile App IntegrationExist
 
Clinical Analytics for Improving Health Outcomes
Clinical Analytics for Improving Health OutcomesClinical Analytics for Improving Health Outcomes
Clinical Analytics for Improving Health OutcomesExist
 
Exist Customer Success Stories
Exist Customer Success StoriesExist Customer Success Stories
Exist Customer Success StoriesExist
 
Selenium RC Using Java and Maven + Maestro Integration
Selenium RC Using Java and Maven + Maestro IntegrationSelenium RC Using Java and Maven + Maestro Integration
Selenium RC Using Java and Maven + Maestro IntegrationExist
 
Philippine Digital Strategy
Philippine Digital StrategyPhilippine Digital Strategy
Philippine Digital StrategyExist
 
Spectrum of IT BPO Services in the Philippines
Spectrum of IT BPO Services in the PhilippinesSpectrum of IT BPO Services in the Philippines
Spectrum of IT BPO Services in the PhilippinesExist
 
What's new in Drupal 7
What's new in Drupal 7What's new in Drupal 7
What's new in Drupal 7Exist
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQueryExist
 
Digital Life
Digital LifeDigital Life
Digital LifeExist
 

Plus de Exist (20)

Postgres Powers Digital Transformation in Southeast Asia – Success Stories
Postgres Powers Digital Transformation in Southeast Asia – Success StoriesPostgres Powers Digital Transformation in Southeast Asia – Success Stories
Postgres Powers Digital Transformation in Southeast Asia – Success Stories
 
Understanding Blockchain and Its Business Benefits
Understanding Blockchain and Its Business BenefitsUnderstanding Blockchain and Its Business Benefits
Understanding Blockchain and Its Business Benefits
 
ブロックチェーンのビジネス上の利点を理解する
ブロックチェーンのビジネス上の利点を理解するブロックチェーンのビジネス上の利点を理解する
ブロックチェーンのビジネス上の利点を理解する
 
How to Select the Right Automation Testing Tool
How to Select the Right Automation Testing ToolHow to Select the Right Automation Testing Tool
How to Select the Right Automation Testing Tool
 
Advancing Global Competitiveness Through Digital Transformation and Big Data ...
Advancing Global Competitiveness Through Digital Transformation and Big Data ...Advancing Global Competitiveness Through Digital Transformation and Big Data ...
Advancing Global Competitiveness Through Digital Transformation and Big Data ...
 
Exist Company Profile
Exist Company ProfileExist Company Profile
Exist Company Profile
 
Exist Company Profile (Nihongo)
Exist Company Profile (Nihongo)Exist Company Profile (Nihongo)
Exist Company Profile (Nihongo)
 
DX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図ります
DX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図りますDX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図ります
DX(デジタルトランスフォーメーション)とビッグデータでグローバル競争力強化を図ります
 
Anahaw Retail Enterprise Solution
Anahaw Retail Enterprise SolutionAnahaw Retail Enterprise Solution
Anahaw Retail Enterprise Solution
 
Understanding the state of your web application using Apache Kafka, Spark
Understanding the state of your web application using Apache Kafka, SparkUnderstanding the state of your web application using Apache Kafka, Spark
Understanding the state of your web application using Apache Kafka, Spark
 
The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...
The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...
The Philippines eHealth Strategic Framework and Plan (Updates as of May 23, 2...
 
API-Centric Rails Web Apps and Hybrid Mobile App Integration
API-Centric Rails Web Apps and Hybrid Mobile App IntegrationAPI-Centric Rails Web Apps and Hybrid Mobile App Integration
API-Centric Rails Web Apps and Hybrid Mobile App Integration
 
Clinical Analytics for Improving Health Outcomes
Clinical Analytics for Improving Health OutcomesClinical Analytics for Improving Health Outcomes
Clinical Analytics for Improving Health Outcomes
 
Exist Customer Success Stories
Exist Customer Success StoriesExist Customer Success Stories
Exist Customer Success Stories
 
Selenium RC Using Java and Maven + Maestro Integration
Selenium RC Using Java and Maven + Maestro IntegrationSelenium RC Using Java and Maven + Maestro Integration
Selenium RC Using Java and Maven + Maestro Integration
 
Philippine Digital Strategy
Philippine Digital StrategyPhilippine Digital Strategy
Philippine Digital Strategy
 
Spectrum of IT BPO Services in the Philippines
Spectrum of IT BPO Services in the PhilippinesSpectrum of IT BPO Services in the Philippines
Spectrum of IT BPO Services in the Philippines
 
What's new in Drupal 7
What's new in Drupal 7What's new in Drupal 7
What's new in Drupal 7
 
Intro to jQuery
Intro to jQueryIntro to jQuery
Intro to jQuery
 
Digital Life
Digital LifeDigital Life
Digital Life
 

Dernier

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...apidays
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistandanishmna97
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKJago de Vreede
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxRustici Software
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 

Dernier (20)

Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUKSpring Boot vs Quarkus the ultimate battle - DevoxxUK
Spring Boot vs Quarkus the ultimate battle - DevoxxUK
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Node.js Presentation

  • 1.
  • 2. What is node.js? ● Server-side Javascript ● Built on Google’s V8 ● Evented, non-blocking I/O. ● EventMachine or Twisted. ● CommonJS module system. ● 8000 lines of C/C++, 2000 lines of Javascript, 14 contributors.
  • 3. Main Goal To provide a purely evented, non-blocking infrastructure to script highly concurrent programs.
  • 5. Apache vs NGINX concurrency × reqs/sec http://blog.webfaction.com/a-little-holiday-present
  • 6. Apache vs NGINX concurrency × memory http://blog.webfaction.com/a-little-holiday-present
  • 7. Apache vs NGINX The difference? Apache uses one thread per Connection. NGINX doesn’t use threads. It uses an event loop. For massive concurrency, cannot use an OS thread for each connection.
  • 8. Javascript designed specifically to be used with an event loop: ● Anonymous functions, closures. ● Only one callback at a time. ● I/O through DOM event callbacks. The culture of Javascript is already geared towards evented programming.
  • 10.
  • 12. Design Goals ● No function should direct perform I/O. ● To receive info from disk, network, or another process there must be a callback.
  • 13. Code like this either blocks the entire process or implies multiple execution stacks.
  • 14. But a line of code like this allows the program to return to the event loop immediately. No machinery required. This is how I/O should be done.
  • 15. Design Goals ● Low-level. ● Stream everything; never force the buffering of data. ● Have built-in support for the most important protocols: ● TCP ● DNS ● HTTP
  • 16. Design Goals ● Support many HTTP features. ● Chunked requests and responses. ● Keep-alive. ● Hang requests for comet applications.
  • 17. Design Goals ● The API should be both familiar to client-side JS programmers and old school UNIX hackers. ● Be platform independent.
  • 18. Speed
  • 19. Benchmarks ● nginx v0.7.65 ● node v0.1.91 ● tornado v0.2 (python 2.6.4) ● thin v1.2.7 (ruby 1.9.1-p376) In Linux using a Intel Core 2 Due 2.53, 4 GB memory
  • 20. The standard ‘hello world’ concurrency benchmark. (Approximately 100 byte response for each.)
  • 21.
  • 22. How do the servers perform when the concurrency is fixed at 300, but serve different response sizes. This is what the node version looks like, approximately
  • 23.
  • 24.
  • 25. Wow. Node sucks at serving large files. Well over 3 second responses for 256 kilobyte files at 300 concurrent connections.
  • 26. What’s happening: V8 has a generational garbage collector. Moves objects around randomly. Node can’t get a pointer to raw string data to write to socket.
  • 27. Using Node’s new Buffer object, the results change.
  • 28.
  • 29.