01 / Problem
The problem with polling
The old system asked the server for updates again and again. At 10,000 users and one request per second, that is roughly 10,000 requests every second, including requests made when nothing had changed.
The server still had to receive, process, and answer all of them. Some of those endpoints also did expensive calculations, so the cost grew with the number of connected users.
Polling also added a delay. Some important checks ran every five seconds, so a driver location, ride status, or availability change could sit unseen until the next check. Each feature had its own interval, and the apps had more than 10 of them for things like booking, messages, and availability.