Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Scaling High-Performance Node.js Applications

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. In this course, you'll dive deep into the concepts of performance optimization and scalability in Node.js applications. Whether you're a developer aiming to build high-performing applications or an architect looking to scale a system efficiently, this course provides the essential tools and techniques. Through a hands-on approach, you will explore both theory and practice to build robust and scalable applications. You'll begin by understanding the fundamental principles of scalability and performance, such as vertical and horizontal scaling, and application cloning. As you move through the course, you'll learn to implement child processes and process pools to improve concurrency, along with fault tolerance strategies to ensure resilience. The journey also includes leveraging external tools and strategies for scaling databases and partitioning large datasets to meet growing demands. In the second half of the course, you’ll work through parallelizing asynchronous operations with child processes, learning to merge streams and handle errors seamlessly. Additionally, you'll explore batching and caching techniques to optimize async workloads and prevent performance bottlenecks. The final module focuses on managing CPU-intensive operations and understanding the use of child processes and worker threads for offloading expensive computations. This course is ideal for backend developers, Node.js developers, and system architects who want to optimize application performance. Prerequisites include basic JavaScript and Node.js knowledge, along with an understanding of asynchronous programming. The difficulty level is intermediate. By the end of the course, you will be able to scale Node.js applications using both vertical and horizontal scaling, implement parallel processing with child processes, optimize async operations through batching and caching, and manage CPU-heavy tasks effectively.

Syllabus

  • Performance and Scaling – Scalability Fundamental Concepts
    • In this module, we will introduce the essential concepts of performance and scalability in Node.js applications. We will explore various scaling strategies, such as vertical and horizontal scaling, and demonstrate practical techniques like cloning and utilizing child processes to handle increased system demands. This foundation sets the stage for building highly scalable applications.
  • Performance and Scaling – Parallel Streams
    • In this module, we will dive into the powerful concept of parallel streams in Node.js. We will explore how to use child processes for concurrent task execution, merge data streams seamlessly, and ensure the entire process remains non-blocking. These techniques will enhance your app’s performance and scalability by enabling parallel processing of large datasets.
  • Performance and Scaling – Async Batching and Caching
    • In this module, we will examine how batching and caching can be powerful tools for optimizing async workloads in Node.js applications. By implementing these strategies, we will streamline data processing and significantly reduce redundant calls, leading to faster and more scalable applications. We will also explore common performance issues that batching and caching can help resolve.
  • Performance and Scaling – CPU-Intensive Operations
    • In this module, we will focus on handling CPU-intensive operations without blocking the event loop in Node.js. We will investigate how to offload heavy computations using child processes and worker threads, ensuring that your application remains responsive even under high loads. Through real-world examples, we will demonstrate how to effectively manage CPU-bound tasks in scalable applications.

Taught by

Packt - Course Instructors

Reviews

Start your review of Scaling High-Performance Node.js Applications

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.