You've successfully set up a Consistent Hash Ring. The data is partitioned. Your database scales to infinity. Everything is perfect. Then, Taylor Swift posts a tweet.
When you partition data by User_ID, all of Taylor Swift's data lives on exactly one server (one shard). When millions of people try to read her profile at the exact same second, that single server melts down, even if the other 999 servers in your cluster are sitting completely idle.
This is known as a Hotspot, and it is the bane of partitioned databases.
Watch how traffic behaves during a normal day versus when a single celebrity user gets all the attention.
To fix Hotspots, systems often employ a technique called Scatter-Gather. Instead of putting Taylor Swift on one server, we append a random number to her key (Taylor_1, Taylor_2) so her data scatters across 10 different servers. To read her profile, the application queries all 10 servers and gathers the results together.
Finally, how does your Node.js app actually know which server holds ID 1052? It doesn't.
There is usually a dedicated Routing Tier (like a reverse proxy or a ZooKeeper cluster). Your app connects to the Routing Tier, which maintains the Hash Ring in memory. The router hashes the key, finds the correct IP address for that shard, forwards the TCP packet, and returns the response.