We have a NodeJS Express application that we have implemented a custom analytics backend for. Now, we are deciding on how to implement the tracking mechanism, for JS-disabled browsers like feature phones.
One design approach that we are considering is to create a middleware, that intercepts every request, extracts the params from the request/context and sends them to the backend. This is very scaleable and makes perfect sense for a custom analytics solution such as ours.
The other approach would be to create a tracking pixel like Google analytics does and then extract data from that. But that seems to be a much less scaleable solution for custom tracking solutions, as the params and the data structure could change or scale up at any point, unlike GA.
My question is this - are there any flip sides to making a middleware that makes Async requests? Is there anything we need to be cognizant about while creating it, as every request to our server is going to pass through this middleware? Ours is a fairly large app, with a traffic of hundreds of thousands per minute.