Node.js te facilita el acceso a un objeto global denominado processque proporciona información relativa al proceso de Node.js actualmente en ejecución. Este objeto extiende de EventEmitter por lo que podrás escuchar ciertos eventos en el caso de interesarte.
Eventos a considerar Existen dos tipos de eventos que son emitidos por el proceso; Eventos de excepción y eventos de señal.
Eventos de excepción Los eventos de excepción más comunes y que podrás ver con mayor facilidad son:
El módulo OS que implementa Node.js proporciona multitud de métodos y funcionalidades que se pueden utilizar para recuperar información del Sistema Operativo. Además también nos aporta información sobre la computadora donde se ejecuta la aplicación.
Métodos principales Relativos a la computadora os.arch(): Devuelve un string que identifica la arquitectura subyacente. Ej: x64, arm, etc. os.cpus(): Devuelve información sobre las CPUS disponibles en el SO os.freemem(): Devuelve un numero indicando la memoria libre en el SO (en bytes) os.
El sistema de módulos utilizado actualmente en Node.js extiende del estándar de CommonJS, aunque hay que destacar que se están implementando otras soluciones como los módulos de ES. Sin embargo, al principio este vacío no estaba cubierto y CommonJS fue quien lo lleno.
¿Qué es un módulo? Un módulo no es nada más que una unidad de código organizado en archivos o directorios, la cual puede ser exportada con facilidad para poder reutilizarse en otras partes de la aplicación.
fs es el módulo nativo de Node.js que permite interactuar con los archivos del sistema.
Es importante que no uses fsen entornos de persistencia efímera como Heroku, lambdas o cloud functions ya que se perderán los archivos con los que trabajes.
A partir de la version 11 de Node.js la versión con promeses de fs esta disponible para su uso (sin ser experimental). Previamente solo estaban disponibles métodos con callbacks.
Otras de las grandes características de Node.js es la facilidad con la que puedes trabajar con eventos y facilitar así la comunicación entre objetos.
Además, debes saber que muchos módulos de la API de Node.js (built-in modules) y externos heredan de EventEmitter.
Los eventos en Node.js son implementados por el módulo Events.
¿Como funcionan los eventos? Para entender su funcionamiento es clave comprender los 2 actores principales que intervienen en este juego:
El proceso de Nodejs de un solo funciona muy bien pero eventualmente un único proceso en una CPU no será suficiente para cubrir todas las necesidades de una aplicación. Esto es independiente del tamaño de la máquina, ya que un único proceso tendrá siempre una carga limitada.
Usar multiples procesos es la mejor manera de escalar una aplicación Node.js, y precisamente una de las virtudes de Node.js es estar preparado para soportarlo.