Cargando…

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.

Detalles Bibliográficos
Clasificación:Libro Electrónico
Autor principal: Pasquali, Sandro (Autor)
Formato: Electrónico eBook
Idioma:Inglés
Publicado: Birmingham, UK : Packt Publishing, 2015.
Colección:Community experience distilled.
Temas:
Acceso en línea:Texto completo (Requiere registro previo con correo institucional)
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