Deploying Node.js learn how to build, test, deploy, monitor, and maintain your Node.js applications at scale
If you are an intermediate or advanced developer deploying your Node.js applications, then this book is for you. If you have already built a Node application or module and want to take your knowledge to the next level, this book will help you find your way.
Otros Autores: | |
---|---|
Formato: | Libro electrónico |
Idioma: | Inglés |
Publicado: |
Birmingham, [England] :
Packt Publishing Limited
2015.
|
Edición: | 1st edition |
Colección: | Community experience distilled
|
Materias: | |
Ver en Biblioteca Universitat Ramon Llull: | https://discovery.url.edu/permalink/34CSUC_URL/1im36ta/alma991009629613606719 |
Tabla de Contenidos:
- Cover; Copyright; Credits; About the Author; About the Reviewers; www.PacktPub.com; Table of Contents; Preface; Chapter 1: Appreciating Node; Understanding Node's unique design; Concurrency; Parallelism and threads; Concurrency and processes; Events; The event loop; The implications of Node's design on system architects; Building large systems out of small systems; Streams; Using full-stack JavaScript to maximum effect; Hot code; Browserify; Summary; Chapter 2: Installing and Virtualizing Node Servers; Getting a basic Node server up and running; Hello world; Making HTTP requests
- Proxying and tunnelingHTTPS, TLS (SSL), and securing your server; Creating a self-signed certificate for development; Installing a real SSL certificate; Installing applications on Heroku; Add-ons; Git; Managing configuration variables; Managing your deployment; Installing applications on OpenShift; Installing a Node application and MongoDB; Deploying your app; Using Docker to create lightweight virtual containers; First, some Unix; Getting started with Docker; Creating a Dockerfile; Building and running a Docker image; Summary; Chapter 3: Scaling Node; Scaling vertically across multiple cores
- spawn(command, [arguments], [options])fork(modulePath, [arguments], [options]); exec(command, [options], callback); execFile; Communicating with your child process; child.connected; child.stdin; child.stdout; child.stderr; child.pid; child.kill([signal]); child.disconnect(); child.send(message, [sendHandle]); The cluster module; cluster.isMaster; cluster.isWorker; cluster.worker; cluster.workers; cluster.setupMaster([settings]); cluster.fork([env]); cluster.disconnect([callback]); cluster events; worker.id; worker.process; worker.suicide; worker.send(message, [sendHandle])
- worker.kill([signal])worker.disconnect(); Scaling horizontally across different machines; Using Nginx; Deploying an Nginx load balancer on DigitalOcean; Installing and configuring Nginx; Load balancing with Node; Using node-http-proxy; Using message queues; Using Node's UDP Module; Summary; Chapter 4: Managing Memory and Space; Dealing with large crowds; Microservices; Redis pub/sub; Microservices with Seneca; Reducing memory usage; Use streams, not buffers; Understanding prototypes; Memory-efficient data structures with Redis; Using bitwise operations to analyze user actions over time
- Using HyperLogLog to count unique anonymous visitorsTaming V8 and optimizing performance; Optimizing JavaScript; Numbers and tracing optimization/de-optimization; Objects and arrays; Functions; Caching strategies; Using Redis as a cache; Deploying CloudFlare as a CDN; Managing sessions; JSON Web Token authentication and sessions; Summary; Chapter 5: Monitoring Applications; Dealing with failure; The 'domain' module; Catching process errors; Logging; Logging with UDP; Logging with Morgan; Modifying behavior in changing environments; Node REPL; Remotely monitoring and managing Node processes
- Profiling processes