- Browse
- » Distributed Systems with Node.js
Distributed Systems with Node.js
Author
Publisher
O'Reilly Media, Inc
Publication Date
2020
Language
English
Description
Loading Description...
More Details
ISBN
9781492077299
Table of Contents
From the eBook
Cover
Copyright
Table of Contents
Foreword
Preface
Target Audience
Goals
Conventions Used in This Book
Using Code Examples
O'Reilly Online Learning
How to Contact Us
Acknowledgments
Chapter 1. Why Distributed?
The Single-Threaded Nature of JavaScript
Quick Node.js Overview
The Node.js Event Loop
Event Loop Phases
Code Example
Event Loop Tips
Sample Applications
Service Relationship
Producer Service
Consumer Service
Chapter 2. Protocols
Request and Response with HTTP
HTTP Payloads
HTTP Semantics
HTTP Compression
HTTPS / TLS
JSON over HTTP
The Dangers of Serializing POJOs
API Facade with GraphQL
GraphQL Schema
Queries and Responses
GraphQL Producer
GraphQL Consumer
RPC with gRPC
Protocol Buffers
gRPC Producer
gRPC Consumer
Chapter 3. Scaling
The Cluster Module
A Simple Example
Request Dispatching
Cluster Shortcomings
Reverse Proxies with HAProxy
Introduction to HAProxy
Load Balancing and Health Checks
Compression
TLS Termination
Rate Limiting and Back Pressure
SLA and Load Testing
Introduction to Autocannon
Running a Baseline Load Test
Reverse Proxy Concerns
Protocol Concerns
Coming Up with SLOs
Chapter 4. Observability
Environments
Logging with ELK
Running ELK via Docker
Transmitting Logs from Node.js
Creating a Kibana Dashboard
Running Ad-Hoc Queries
Metrics with Graphite, StatsD, and Grafana
Running via Docker
Transmitting Metrics from Node.js
Creating a Grafana Dashboard
Node.js Health Indicators
Distributed Request Tracing with Zipkin
How Does Zipkin Work?
Running Zipkin via Docker
Transmitting Traces from Node.js
Visualizing a Request Tree
Visualizing Microservice Dependencies
Health Checks
Building a Health Check
Testing the Health Check
Alerting with Cabot
Create a Twilio Trial Account
Running Cabot via Docker
Creating a Health Check
Chapter 5. Containers
Introduction to Docker
Containerizing a Node.js Service
Dependency Stage
Release Stage
From Image to Container
Rebuilding and Versioning an Image
Basic Orchestration with Docker Compose
Composing Node.js Services
Internal Docker Registry
Running the Docker Registry
Pushing and Pulling to the Registry
Running a Docker Registry UI
Chapter 6. Deployments
Build Pipeline with Travis CI
Creating a Basic Project
Configuring Travis CI
Testing a Pull Request
Automated Testing
Unit Tests
Integration Tests
Code Coverage Enforcement
Deploying to Heroku
Create a Heroku App
Configure Travis CI
Deploy Your Application
Modules, Packages, and SemVer
Node.js Modules
SemVer (Semantic Versioning)
npm Packages and the npm CLI
Internal npm Registry
Running Verdaccio
Configuring npm to Use Verdaccio
Excerpt
Loading Excerpt...
Author Notes
Loading Author Notes...
Reviews from GoodReads
Loading GoodReads Reviews.
Staff View
Loading Staff View.