← back to articles

How Uber Uses Node.js To Scale Their Business — Medium

Save article ToRead Archive Delete · Log out

1 min read · View original · medium.com/@nodejs


How Uber Uses Node.js To Scale Their Business

The ride-sharing platform Uber has an ambitious goal: to make transportation as reliable as running water, everywhere and for everyone. To conquer the considerable challenge of ensuring a reliably excellent experience for its customers and drivers at a quickly-growing scale, Uber has built its massive matching system on Node.js.

The three core strengths that made Node.js a particularly good fit for Uber, include:

  1. Node.js handles asynchronous I/O requests with a non-blocking, single-threaded event loop. It is particularly well-suited to distributed systems that make a lot of network requests.
  2. Node.js — and JavaScript in general — is excellent for quick iteration; programs can be inspected and errors can be addressed on the fly without requiring a restart, so developers can publish and deploy new code constantly.
  3. The active open source community continuously optimizes the technology; it gets better, all the time, practically on its own.

This case study dives into all three of these points in more detail.

If you want to hear more about Uber, check out Tom Croucher’s presentation at Node.js Interactive. Tom is a senior site reliability engineer and talks about how Node.js is being used at Uber and how future growth requires the community to push the boundaries and expectations for Node.js. Uber’s GitHub page is a good source to also learn more about the company’s most critical systems.