SlideShare une entreprise Scribd logo
1  sur  22
Enhancing scalability
using Node.js
Team 15 - Enlighten
Ratan Kadam - ratan.kadam@gmail.com
Monil Shah - monil.shaah@gmail.com
Akshay Jarandikar - akshayjaradikar@gmail.com
Swapnil Joshi - swapnil.joshi1590@gmail.com
Scalability
 WhyWhat is scalability?
 do we need scalability?
 Current industry solutions -
• Horizontal Scaling
• Vertical Scaling
• Multi-threading
• Cloud Computing
Horizontal vs Vertical Scaling
Horizontal Scaling
Adds extra identical boxes to
server.
Issues:
• Requires Load balancer for
managing connection.
• Distribution of work within the
units becomes overhead.
• Additional investment.
Vertical Scaling
Increases the power of existing
system by adding more powerful
hardware.
Issues:
• Additional Investment
• Single point of failure
(SPOF)
Multi-threading & Cloud Computing
Multi-threading
Issues:
-High chances of deadlock if
application is not designed
properly.
-Web-servers need to handle
thousands of HTTP requests. This
may cause many threads to wait
for network operations.
-For thousands of simultaneous
requests, spawning threads for all
processes would not achieve the
desired scalability.
Cloud Computing
Issues:
-Application architecture may or
may not be suited for Cloud
Computing
-Application and Data Security in
the Cloud
-Lack of skilled resources;
external training is required
-If application is not designed
properly for cloud platform;
difficult to yield benefits
-Again, substantial additional
investment
So the challenge…
 The challenge is to scale the web
application without major re-engineering
and buying new hardware while keeping
its architecture simple and easy to
manage.
Solution
Important Features:
Asynchronous in nature
Event driven
Non-blocking I/O
Proposed Architecture
Proxy Middleware, Entry point for real
world access, Security, Caching
Nginx Server Serves static content, Caching
Load Balancer  connects multithreaded
node.js instances and handles load distribution
V8 JavaScript engine  handles compilation and
execution of JavaScript
Event loop  Handles events in program
during execution of asynchronous operations.
Proxy Server
Server Pool
Routing request based on content type
Nginx server
Nginx server stores static data in hierarchical cache. Thus reduces the latency.
Also supports compression format to reduce response size.
Node.js Workflow
3 core execution models:
1.Asynchronous request processing
2.Event driven programming
3.Non-blocking I/O
 When request is made to server, instead of waiting for the request to complete,
server continues to process other requests.
 When request processing completes, the response is sent to caller using
callback mechanism.
 Event listener listens to the events and determines the flow of program.
 There is an event loop that listens to events and then triggers callback functions.
Non-blocking I/O
 Non-blocking I/O supports the execution of system to be continued
without waiting for I/O operations to complete.
 This enables the architecture to have asynchronous request
processing.
Event loop
Event loop is a programming construct that waits for and dispatches events in a
program once their asynchronous operation completes.
Node Load Balancer Working
 Load balancer
distributes the
workload among
available servers.
 Load Balancer sends
periodic heartbeat to
check server status.
 If one of the servers is
down then the load
balancer distributes
the request queue
among the available
servers.
V8 JavaScript Engine
 When V8 receives script source code, it parses it to create abstract
syntax tree.
 Then this AST is fed into the byte code generator to produce byte
code of the source.
 V8 execution environment then interprets this byte code and with the
help of JIT compiler it produces the native machine code that gets
executed.
 It uses techniques such as in-lining, elision of expensive runtime
properties, and inline caching are used for optimization
CASE STUDY
PayPal & eBay with Node.Js
Changes from development
perspective -
The development time was almost
half that with fewer people.
Number of files that were
constructed reduced to 40%.
The number of lines of code was
reduced by 33%.
Changes from performance
perspective
The number of requests per
second is doubled compared to Java
application.
 The response time is decreased
by 35% compared to Java
application.
Node.js Vs Traditional Java
Advantages
1. Asynchronous
2. Event driven programming
3. Multithreading
4. Scalability
5. High throughput
6. High Performance
7. Cost effective
8.Minimum Latency
9. Efficient Resource Consumption
10. Set of Standard Libraries
Conclusion
Scalability is next decade challenge for enterprise community
as more than 7.1 billion people are using internet.
Most of the vendors use solutions like Horizontal, vertical &
single threaded node.js. However, these single threaded
architectures may not be able to fix the next generation scalable
issues.
Solution to the problem is defined in our proposed architecture –
multithreaded node.js where multiple node.js instances are bind
to the fixed number of threads to boost the power of existing
Node JS.
So multithreaded node.js can be a cost effective, software based
scalable solution for next decade challenges for Enterprise
industries.
References
 Web application performance and scalability
http://www.webforefront.com/performance/scaling101.html
 Node.js at PayPal
https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/
 Nginx
http://www.aosabook.org/en/nginx.html
 Ebay’s first node.js application
http://www.ebaytechblog.com/2013/05/17/how-we-built-ebays-first-node-
js-application/#.VHLrNIvF9hw
 Node.js architecture diagram
http://blog.cloudfoundry.org/2012/06/27/future-proofing-your-apps-cloud-
foundry-and-node-js/
Questions…
Thank You..

Contenu connexe

Tendances

Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
Markus Eisele
 

Tendances (20)

Serverless java
Serverless   javaServerless   java
Serverless java
 
How to Use OWASP Security Logging
How to Use OWASP Security LoggingHow to Use OWASP Security Logging
How to Use OWASP Security Logging
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Serverless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to MicroservicesServerless / FaaS / Lambda and how it relates to Microservices
Serverless / FaaS / Lambda and how it relates to Microservices
 
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
From VMs to Containers: Introducing Docker Containers for Linux and Windows S...
 
Microservices with Micronaut
Microservices with MicronautMicroservices with Micronaut
Microservices with Micronaut
 
JEEconf 2017
JEEconf 2017JEEconf 2017
JEEconf 2017
 
Developing in the Cloud
Developing in the CloudDeveloping in the Cloud
Developing in the Cloud
 
Container Patterns
Container PatternsContainer Patterns
Container Patterns
 
Stay productive while slicing up the monolith
Stay productive while slicing up the monolith Stay productive while slicing up the monolith
Stay productive while slicing up the monolith
 
Serverless and cloud computing
Serverless and cloud computingServerless and cloud computing
Serverless and cloud computing
 
Adf with docker
Adf with dockerAdf with docker
Adf with docker
 
Scaling tokopedia-past-present-future
Scaling tokopedia-past-present-futureScaling tokopedia-past-present-future
Scaling tokopedia-past-present-future
 
From VMs to Containers: Decompose and Migrate Old Legacy JavaEE Application
From VMs to Containers: Decompose and Migrate Old Legacy JavaEE ApplicationFrom VMs to Containers: Decompose and Migrate Old Legacy JavaEE Application
From VMs to Containers: Decompose and Migrate Old Legacy JavaEE Application
 
ASP.NET vNext
ASP.NET vNextASP.NET vNext
ASP.NET vNext
 
Microservices: Another Way
Microservices: Another WayMicroservices: Another Way
Microservices: Another Way
 
Microservices with containers in the cloud
Microservices with containers in the cloudMicroservices with containers in the cloud
Microservices with containers in the cloud
 
How to build an HA container orchestrator infrastructure for production – Giu...
How to build an HA container orchestrator infrastructure for production – Giu...How to build an HA container orchestrator infrastructure for production – Giu...
How to build an HA container orchestrator infrastructure for production – Giu...
 
Building Micro-Services with Scala
Building Micro-Services with ScalaBuilding Micro-Services with Scala
Building Micro-Services with Scala
 
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCSOracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
Oracle CODE 2017 San Francisco: Docker on Raspi Swarm to OCCS
 

En vedette

Xitrum internals
Xitrum internalsXitrum internals
Xitrum internals
Ngoc Dao
 

En vedette (20)

Interactive publication platform
Interactive publication platformInteractive publication platform
Interactive publication platform
 
Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture Anatomy of a Modern Node.js Application Architecture
Anatomy of a Modern Node.js Application Architecture
 
NodeJS for Beginner
NodeJS for BeginnerNodeJS for Beginner
NodeJS for Beginner
 
Node.js - Best practices
Node.js  - Best practicesNode.js  - Best practices
Node.js - Best practices
 
Architecting large Node.js applications
Architecting large Node.js applicationsArchitecting large Node.js applications
Architecting large Node.js applications
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 
Horizontally Scaling Node.js and WebSockets
Horizontally Scaling Node.js and WebSocketsHorizontally Scaling Node.js and WebSockets
Horizontally Scaling Node.js and WebSockets
 
Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907Node Foundation Membership Overview 20160907
Node Foundation Membership Overview 20160907
 
Introduction to Nodejs and Isomorphic javascript
Introduction to Nodejs and Isomorphic javascriptIntroduction to Nodejs and Isomorphic javascript
Introduction to Nodejs and Isomorphic javascript
 
Xitrum internals
Xitrum internalsXitrum internals
Xitrum internals
 
JavaScript Architecture: The Front and the Back of It
JavaScript Architecture: The Front and the Back of ItJavaScript Architecture: The Front and the Back of It
JavaScript Architecture: The Front and the Back of It
 
Keymetrics pm2
Keymetrics pm2Keymetrics pm2
Keymetrics pm2
 
What is Browser Sandbox Protection?
What is Browser Sandbox Protection?What is Browser Sandbox Protection?
What is Browser Sandbox Protection?
 
Building and Scaling Node.js Applications
Building and Scaling Node.js ApplicationsBuilding and Scaling Node.js Applications
Building and Scaling Node.js Applications
 
Building scalable network applications with Netty (as presented on NLJUG JFal...
Building scalable network applications with Netty (as presented on NLJUG JFal...Building scalable network applications with Netty (as presented on NLJUG JFal...
Building scalable network applications with Netty (as presented on NLJUG JFal...
 
Realtime webapp with node.js
Realtime webapp with node.jsRealtime webapp with node.js
Realtime webapp with node.js
 
Planning for the Horizontal: Scaling Node.js Applications
Planning for the Horizontal: Scaling Node.js ApplicationsPlanning for the Horizontal: Scaling Node.js Applications
Planning for the Horizontal: Scaling Node.js Applications
 
Getting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi FrameworkGetting Started with the Node.js LoopBack APi Framework
Getting Started with the Node.js LoopBack APi Framework
 
NodeJS et SocketIO en mode scalable dans le Cloud - GAB 2015
NodeJS et SocketIO en mode scalable dans le Cloud - GAB 2015NodeJS et SocketIO en mode scalable dans le Cloud - GAB 2015
NodeJS et SocketIO en mode scalable dans le Cloud - GAB 2015
 
WebSocket avec Java EE 7
WebSocket avec Java EE 7WebSocket avec Java EE 7
WebSocket avec Java EE 7
 

Similaire à Scalability using Node.js

Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
codebits
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
rajivmordani
 

Similaire à Scalability using Node.js (20)

NodeJS ecosystem
NodeJS ecosystemNodeJS ecosystem
NodeJS ecosystem
 
Beginners Node.js
Beginners Node.jsBeginners Node.js
Beginners Node.js
 
Node js internal
Node js internalNode js internal
Node js internal
 
Data stream processing and micro service architecture
Data stream processing and micro service architectureData stream processing and micro service architecture
Data stream processing and micro service architecture
 
8 Best Ways To Boost Node.js Performance Of Your Application!.pdf
8 Best Ways To Boost Node.js Performance Of Your Application!.pdf8 Best Ways To Boost Node.js Performance Of Your Application!.pdf
8 Best Ways To Boost Node.js Performance Of Your Application!.pdf
 
Understanding the Single Thread Event Loop
Understanding the Single Thread Event LoopUnderstanding the Single Thread Event Loop
Understanding the Single Thread Event Loop
 
Building Applications With the MEAN Stack
Building Applications With the MEAN StackBuilding Applications With the MEAN Stack
Building Applications With the MEAN Stack
 
NoSQL and ACID
NoSQL and ACIDNoSQL and ACID
NoSQL and ACID
 
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008Practical Thin Server Architecture With Dojo Sapo Codebits 2008
Practical Thin Server Architecture With Dojo Sapo Codebits 2008
 
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
Architecting and Tuning IIB/eXtreme Scale for Maximum Performance and Reliabi...
 
GlobalsDB: Its significance for Node.js Developers
GlobalsDB: Its significance for Node.js DevelopersGlobalsDB: Its significance for Node.js Developers
GlobalsDB: Its significance for Node.js Developers
 
Node.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel AvivNode.js meetup at Palo Alto Networks Tel Aviv
Node.js meetup at Palo Alto Networks Tel Aviv
 
Practical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter SvenssonPractical Thin Server Architecture With Dojo Peter Svensson
Practical Thin Server Architecture With Dojo Peter Svensson
 
Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...Dori Exterman, Considerations for choosing the parallel computing strategy th...
Dori Exterman, Considerations for choosing the parallel computing strategy th...
 
Designing Scalable Applications
Designing Scalable ApplicationsDesigning Scalable Applications
Designing Scalable Applications
 
Introduction to Node.JS
Introduction to Node.JSIntroduction to Node.JS
Introduction to Node.JS
 
Node.js Web Development.pdf
Node.js Web Development.pdfNode.js Web Development.pdf
Node.js Web Development.pdf
 
PHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM iPHP – Faster And Cheaper. Scale Vertically with IBM i
PHP – Faster And Cheaper. Scale Vertically with IBM i
 
Going Serverless on AWS
Going Serverless on AWSGoing Serverless on AWS
Going Serverless on AWS
 
Difference between Node.js vs Java script
Difference between Node.js vs Java scriptDifference between Node.js vs Java script
Difference between Node.js vs Java script
 

Dernier

Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
KarakKing
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
heathfieldcps1
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
ZurliaSoop
 

Dernier (20)

Wellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptxWellbeing inclusion and digital dystopias.pptx
Wellbeing inclusion and digital dystopias.pptx
 
Salient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functionsSalient Features of India constitution especially power and functions
Salient Features of India constitution especially power and functions
 
ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.ICT role in 21st century education and it's challenges.
ICT role in 21st century education and it's challenges.
 
Food safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdfFood safety_Challenges food safety laboratories_.pdf
Food safety_Challenges food safety laboratories_.pdf
 
Towards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptxTowards a code of practice for AI in AT.pptx
Towards a code of practice for AI in AT.pptx
 
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptxHMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
HMCS Vancouver Pre-Deployment Brief - May 2024 (Web Version).pptx
 
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
2024-NATIONAL-LEARNING-CAMP-AND-OTHER.pptx
 
Python Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docxPython Notes for mca i year students osmania university.docx
Python Notes for mca i year students osmania university.docx
 
FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024FSB Advising Checklist - Orientation 2024
FSB Advising Checklist - Orientation 2024
 
Graduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - EnglishGraduate Outcomes Presentation Slides - English
Graduate Outcomes Presentation Slides - English
 
General Principles of Intellectual Property: Concepts of Intellectual Proper...
General Principles of Intellectual Property: Concepts of Intellectual  Proper...General Principles of Intellectual Property: Concepts of Intellectual  Proper...
General Principles of Intellectual Property: Concepts of Intellectual Proper...
 
The basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptxThe basics of sentences session 3pptx.pptx
The basics of sentences session 3pptx.pptx
 
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
NO1 Top Black Magic Specialist In Lahore Black magic In Pakistan Kala Ilam Ex...
 
How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17How to Add New Custom Addons Path in Odoo 17
How to Add New Custom Addons Path in Odoo 17
 
REMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptxREMIFENTANIL: An Ultra short acting opioid.pptx
REMIFENTANIL: An Ultra short acting opioid.pptx
 
How to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptxHow to setup Pycharm environment for Odoo 17.pptx
How to setup Pycharm environment for Odoo 17.pptx
 
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
Jual Obat Aborsi Hongkong ( Asli No.1 ) 085657271886 Obat Penggugur Kandungan...
 
How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17How to Give a Domain for a Field in Odoo 17
How to Give a Domain for a Field in Odoo 17
 
Sociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning ExhibitSociology 101 Demonstration of Learning Exhibit
Sociology 101 Demonstration of Learning Exhibit
 
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptxHMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
HMCS Max Bernays Pre-Deployment Brief (May 2024).pptx
 

Scalability using Node.js

  • 1. Enhancing scalability using Node.js Team 15 - Enlighten Ratan Kadam - ratan.kadam@gmail.com Monil Shah - monil.shaah@gmail.com Akshay Jarandikar - akshayjaradikar@gmail.com Swapnil Joshi - swapnil.joshi1590@gmail.com
  • 2. Scalability  WhyWhat is scalability?  do we need scalability?  Current industry solutions - • Horizontal Scaling • Vertical Scaling • Multi-threading • Cloud Computing
  • 3. Horizontal vs Vertical Scaling Horizontal Scaling Adds extra identical boxes to server. Issues: • Requires Load balancer for managing connection. • Distribution of work within the units becomes overhead. • Additional investment. Vertical Scaling Increases the power of existing system by adding more powerful hardware. Issues: • Additional Investment • Single point of failure (SPOF)
  • 4. Multi-threading & Cloud Computing Multi-threading Issues: -High chances of deadlock if application is not designed properly. -Web-servers need to handle thousands of HTTP requests. This may cause many threads to wait for network operations. -For thousands of simultaneous requests, spawning threads for all processes would not achieve the desired scalability. Cloud Computing Issues: -Application architecture may or may not be suited for Cloud Computing -Application and Data Security in the Cloud -Lack of skilled resources; external training is required -If application is not designed properly for cloud platform; difficult to yield benefits -Again, substantial additional investment
  • 5. So the challenge…  The challenge is to scale the web application without major re-engineering and buying new hardware while keeping its architecture simple and easy to manage.
  • 6. Solution Important Features: Asynchronous in nature Event driven Non-blocking I/O
  • 7. Proposed Architecture Proxy Middleware, Entry point for real world access, Security, Caching Nginx Server Serves static content, Caching Load Balancer  connects multithreaded node.js instances and handles load distribution V8 JavaScript engine  handles compilation and execution of JavaScript Event loop  Handles events in program during execution of asynchronous operations.
  • 9. Server Pool Routing request based on content type
  • 10. Nginx server Nginx server stores static data in hierarchical cache. Thus reduces the latency. Also supports compression format to reduce response size.
  • 11. Node.js Workflow 3 core execution models: 1.Asynchronous request processing 2.Event driven programming 3.Non-blocking I/O
  • 12.  When request is made to server, instead of waiting for the request to complete, server continues to process other requests.  When request processing completes, the response is sent to caller using callback mechanism.  Event listener listens to the events and determines the flow of program.  There is an event loop that listens to events and then triggers callback functions.
  • 13. Non-blocking I/O  Non-blocking I/O supports the execution of system to be continued without waiting for I/O operations to complete.  This enables the architecture to have asynchronous request processing.
  • 14. Event loop Event loop is a programming construct that waits for and dispatches events in a program once their asynchronous operation completes.
  • 15. Node Load Balancer Working  Load balancer distributes the workload among available servers.  Load Balancer sends periodic heartbeat to check server status.  If one of the servers is down then the load balancer distributes the request queue among the available servers.
  • 16. V8 JavaScript Engine  When V8 receives script source code, it parses it to create abstract syntax tree.  Then this AST is fed into the byte code generator to produce byte code of the source.  V8 execution environment then interprets this byte code and with the help of JIT compiler it produces the native machine code that gets executed.  It uses techniques such as in-lining, elision of expensive runtime properties, and inline caching are used for optimization
  • 17. CASE STUDY PayPal & eBay with Node.Js Changes from development perspective - The development time was almost half that with fewer people. Number of files that were constructed reduced to 40%. The number of lines of code was reduced by 33%. Changes from performance perspective The number of requests per second is doubled compared to Java application.  The response time is decreased by 35% compared to Java application.
  • 19. Advantages 1. Asynchronous 2. Event driven programming 3. Multithreading 4. Scalability 5. High throughput 6. High Performance 7. Cost effective 8.Minimum Latency 9. Efficient Resource Consumption 10. Set of Standard Libraries
  • 20. Conclusion Scalability is next decade challenge for enterprise community as more than 7.1 billion people are using internet. Most of the vendors use solutions like Horizontal, vertical & single threaded node.js. However, these single threaded architectures may not be able to fix the next generation scalable issues. Solution to the problem is defined in our proposed architecture – multithreaded node.js where multiple node.js instances are bind to the fixed number of threads to boost the power of existing Node JS. So multithreaded node.js can be a cost effective, software based scalable solution for next decade challenges for Enterprise industries.
  • 21. References  Web application performance and scalability http://www.webforefront.com/performance/scaling101.html  Node.js at PayPal https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/  Nginx http://www.aosabook.org/en/nginx.html  Ebay’s first node.js application http://www.ebaytechblog.com/2013/05/17/how-we-built-ebays-first-node- js-application/#.VHLrNIvF9hw  Node.js architecture diagram http://blog.cloudfoundry.org/2012/06/27/future-proofing-your-apps-cloud- foundry-and-node-js/

Notes de l'éditeur

  1. Web application performance and scalability http://www.webforefront.com/performance/scaling101.html Node.js at PayPal https://www.paypal-engineering.com/2013/11/22/node-js-at-paypal/ Nginx http://www.aosabook.org/en/nginx.html http://www.ebaytechblog.com/2013/05/17/how-we-built-ebays-first-node-js-application/#.VHLrNIvF9hw Node.js architecture diagram http://blog.cloudfoundry.org/2012/06/27/future-proofing-your-apps-cloud-foundry-and-node-js/