Para isso é bem interessante utilizar algum método de processamento assíncrono para isso.
Para ser muito simples só um banco de dados por ex postgress já da pra fazer isso :)
Tem até uma palestra sobre
https://www.youtube.com/watch?v=jTLP5DrIocA
Trocaria a eventEmiter2 pela 3
https://github.com/primus/eventemitter3
Evita um monte de complexidade