NodeJS Event Loop Explained*

Event Loop A programming construct that waits for and dispatches events or messages in a program.

Traditional Muti-Threaded Model
  • N Worker thread/process
  • Each incoming connection handed to a worker, that worker/ thread is blocked until completion of operations. Examples: File I/O, DB I/O, Network I/O …
Blocking  = Waste of resources
NodeJS Event Loop
  • Asynchronous
  • Non-blocking I/O
Instead of performing I/O in our code, we dispatch I/O events to Node’s event loop and let it handle process optimization, threads and concurrency
Let’s review a typical example with 3 clients making calls to webserver and in turn to database.
As, shown in image, with traditional multi-threaded system, there is a significant amount of blocking happening.
On other-hand single threaded operation on NodeJS server runs asynchronously and efficiently.
* This post uses excerpts from Wikipedia and Dr. Constantine Aaron Cois’s articles

Comments

Popular posts from this blog

SSRS Reports Rotate Text Or Split Alphabet Per Line

Opinionated Microservices Framework Lagom

Recommender systems using MLlib