View profile

GraphQL Caching and other Adventures in Nodeland - Issue #35

Matteo Collina
Matteo Collina
Hi Everyone! Another week in this “impossible” November has passed - my current workload is very high at the minute.. I hope the content you’ll find this week is quite interesting.

Mercurius
I have been preparing a new talk on GraphQL caching and I assembled some benchmarks on the impact a “simple” solution like the one in mercurius-cache implement can make a difference in your GraphQL deployment. The “easy” improvement you can get is 4x, which is pretty impressive:
Benchmark results for mercurius-cache
Benchmark results for mercurius-cache
Here is the PR adding the benchmark. Note that the PR had a bug / the time was incorrectly represented as milliseconds while it was seconds instead.
Last week I shipped a new release of Mercurius: v8.9.0 and then v8.9.1.
Release v8.9.0 · mercurius-js/mercurius · GitHub
Release v8.9.1 · mercurius-js/mercurius · GitHub
Fastify
Release v3.24.0 · fastify/fastify · GitHub
We release v3.24.0 today that ships with a nice improvement on reply.getResponseTime() which makes it deterministic after the response has been sent.
Node
Release v4.10.0 · nodejs/undici · GitHub
Events
On November 25th I’m going to present Fastify at the “JavaScript Congress”!
Matteo Collina @ JavaScript Congress 2021
Matteo Collina @ JavaScript Congress 2021
Join me at WeAreDevelopers JavaScript Congress! I will demo @fastifyjs and provide a sneak-peak to some of the most advanced features!
Useful modules
Have you got a favorite module that migrated to ESM and you cannot migrate to ESM just yet? This module is for you:
fix-esm
News
Read up this article on the impact of the drop of storage cost vs CPU. We live in a brave new world for database access. I’m not necessarily like the conclusion to just use DynamoDB but it’s definitely something to keep in mind.
Rick Houlihan
Distributed SQL is like Henri Ford deciding to give customers what they wanted and breeding a faster horse. Since 2014 per core CPU performance is flattening, but storage costs keep falling. Increasing the time complexity of queries is not the answer.

#NoSQL
@DynamoDB https://t.co/7BC0kE6Jrp
Have you ever seen an Agile process went really bad? Here is a long story on what looks like, how to detect it… and when to “run”.
The unmistakable signs you are participating in Fake Agile theater!
I love the depth of technical articles that are published on CloudFlare blog. They are amazing. This one shows the kind of challenges and solutions they need to face and implement every day. I’m a fan.
The tale of a single register value
A friend linked me this 2020 article about GraphQL directives, their history and usage. I think it’s a worth read:
GraphQL directives are underrated - LogRocket Blog
I often get asked how secure is GraphQL. It’s paramount that every GraphQL resolvers is wrapped to provide its own authorisations checks, similar to what we do with mercurius-auth. Read up at:
GraphQL's Greatest Strength is Also its Greatest Weakness - DevOps.com
Did you enjoy this issue? Yes No
Matteo Collina
Matteo Collina @matteocollina

I write about my journey as a core contributor of Node.js, as an author and a maintainer of many modules - including Fastify and Pino. In addition, I speak at conferences, and I will add links to all my talks in case you missed one.

In order to unsubscribe, click here.
If you were forwarded this newsletter and you like it, you can subscribe here.
Created with Revue by Twitter.