Node.js Weekly Update - 3 Feb, 2017

Read the most important Node.js weekly news & updates: CQRS Explained, Node Interactive Europe Videos, NASA Case-Study, Cron job Microservices, and many more..

If you'd like to stay up-to-date on a daily basis, I recommend to check out our hand-curated Node.js news page and its Twitter feed!

The 5 must-read Node.js articles/projects of this Week:

○ CQRS Explained

This article explains how CQRS (Command Query Responsibility Segregation) works and how you can use it. Example repo and real life use-cases inside.

What is CQRS?

CQRS is an architectural pattern, where the acronym stands for Command Query Responsibility Segregation. We can talk about CQRS when the data read operations are separated from the data write operations, and they happen on a different interface.

○ Why Developers and Enterprises Heart Node.js

Check out the videos in the article to learn how Node.js impacts everything from developer culture to the hardware industry.

We had the opportunity to sit down with several developers and engineers at Node.js Interactive Europe to talk about why they chose Node.js and how this platform is different than others.

○ Node.js Helps NASA Keep Astronauts Safe and Data Accessible

NASA's system uses a microservices architecture with separate APIs and applications built in Node.js to move data related to the EVA spacesuits from three separate legacy databases to a cloud database. Now users can query that one database for everything, reducing the time to access a comprehensive set of data by about 300 percent.

“NASA is always looking to find efficiencies and figure out how best to fund a specific project—
no penny should go to waste,” Estes said. “We took that on as a challenge, to not just continue
to support our systems today, but also to make this conscious migration into the cloud with this
web API, and to do that with no additional contract cost. My model centered around creating an API-driven Node.js enterprise architecture.

○ Writing a cron job microservice with Serverless and AWS Lambda

The folks at Readme.io recently had a situation where they needed to create a new cron job to fetch all users from their database who are coming to the end of their trial and insert them into the customer.io database.

Cron jobs are easy to write, but difficult to setup. You can edit /etc/crontab on the server; if you're using heroku you can use their Scheduler; or you can use some implementation of cron in your programming language of choice (e.g. Node.js).

○ Woodpecker: Dismissing garbage collection in Node.js

Woodpecker forks a number of defined workers (2 x num.of cores) + 1 and a master process managing them. When the resident set size increases the defined throttle, master removes the worker from the cluster gracefully, shuts it down, spawn a new fork, adds it back to the cluster.

Note: This is an experiment done over a weekend. Try it on non-critical components to start with and let me know if results come up interesting. Use in production, at your own risk.

Important Updates to the Node.js Core

Node v4.7.3 (LTS)

Notable Changes:

  • deps: upgrade openssl sources to 1.0.2k

Node v6.9.5 (LTS)

Notable Changes:

  • deps: upgrade openssl sources to 1.0.2k

Node v7.5.0 (Current)

Notable changes:

  • crypto:
  • ability to select cert store at runtime
  • Use system CAs instead of using bundled ones
  • deps:
  • upgrade npm to 4.1.2
  • upgrade openssl sources to 1.0.2k
  • doc: add basic documentation for WHATWG URL API
  • process: add NODE_NO_WARNINGS environment variable
  • url: allow use of URL with http.request and https.request

Previously in the Node.js Weekly Update

In the previous Node.js Weekly Update we read fantastic articles about Event Sourcing, Fixing npm's package hell, Parsing anything in JavaScript using Early algorithm, the Foundation Certified developer program, and more..