
Why Uber Uses Both gRPC and REST APIs
Why Uber uses TWO different API styles for the same app ?
When you tap "Request a Ride," your phone hits a REST API — but behind that, Uber's services talk to each other over gRPC. Here's why:
→ REST = human-readable JSON, easy to debug, perfect for public/mobile clients
→ gRPC = protobuf + HTTP/2, ~5x smaller payloads, compressed headers
→ gRPC has streaming built in (live driver GPS, no websockets needed)
→ Proto files enforce the contract — code won't even compile if it breaks
→ Browsers can't speak gRPC directly, so REST stays alive at the edge
Save this for your next system design interview ?
.
.
#grpc #restapi #systemdesign #microservices #backend #coding #programmer #softwareengineer #computerscience #devlife #techreels #interviewprep #api #protobuf #uber #codingreels #engineering #techexplained #learnprogramming #systemdesigninterview
When you tap "Request a Ride," your phone hits a REST API — but behind that, Uber's services talk to each other over gRPC. Here's why:
→ REST = human-readable JSON, easy to debug, perfect for public/mobile clients
→ gRPC = protobuf + HTTP/2, ~5x smaller payloads, compressed headers
→ gRPC has streaming built in (live driver GPS, no websockets needed)
→ Proto files enforce the contract — code won't even compile if it breaks
→ Browsers can't speak gRPC directly, so REST stays alive at the edge
Save this for your next system design interview ?
.
.
#grpc #restapi #systemdesign #microservices #backend #coding #programmer #softwareengineer #computerscience #devlife #techreels #interviewprep #api #protobuf #uber #codingreels #engineering #techexplained #learnprogramming #systemdesigninterview
KodeKloud
...