Library Hours
Monday to Friday: 9 a.m. to 9 p.m.
Saturday: 9 a.m. to 5 p.m.
Sunday: 1 p.m. to 9 p.m.
Naper Blvd. 1 p.m. to 5 p.m.
     
Limit search to available items
Results Page:  Previous Next
Author II, Thomas Hunter.

Title Distributed Systems with Node.js [electronic resource] / Thomas Hunter II. [O'Reilly electronic resource]

Imprint [S.l.] : O'Reilly Media, Inc., 2020.
QR Code
Description 1 online resource
Note Title from content provider.
Contents 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
Summary Many companies, from startups to Fortune 500 companies alike, use Node.js to build performant backend services. And engineers love Node.js for its approachable API and familiar syntax. Backed by the world's largest package repository, Node's enterprise foothold is only expected to grow. In this hands-on guide, author Thomas Hunter II proves that Node.js is just as capable as traditional enterprise platforms for building services that are observable, scalable, and resilient. Intermediate to advanced Node.js developers will find themselves integrating application code with a breadth of tooling from each layer of a modern service stack. Learn why running redundant copies of the same Node.js service is necessary Know which protocol to choose, depending on the situation Fine-tune your application containers for use in production Track down errors in a distributed setting to determine which service is at fault Simplify app code and increase performance by offloading work to a reverse proxy Build dashboards to monitor service health and throughput Find out why so many different tools are required when operating in an enterprise environment.
ISBN 9781492077299 (paperback)
1492077291 (paperback)
Patron reviews: add a review
Click for more information
EBOOK
No one has rated this material

You can...
Also...
- Find similar reads
- Add a review
- Sign-up for Newsletter
- Suggest a purchase
- Can't find what you want?
More Information