Uber uses a microservices architecture to handle its complex ride-hailing system. Which of the following lists correctly identifies the core microservices involved in Uber's architecture?
Think about the services that directly relate to users booking rides and payments.
Uber's core microservices include User Service for managing user data, Ride Matching Service to connect riders and drivers, Payment Service for handling transactions, and Notification Service to send updates.
Uber's Ride Matching Service must handle millions of requests per minute. Which scaling strategy best suits this service to maintain low latency and high availability?
Consider how to handle many requests simultaneously with fault tolerance.
Horizontal scaling by adding more instances behind a load balancer allows the service to handle more requests concurrently and provides redundancy.
Uber's Payment Service must balance consistency and availability. Which tradeoff is most appropriate for this service?
Think about the importance of accurate payment records.
Strong consistency is critical for payment systems to avoid errors like double charges or lost transactions, even if it means some temporary unavailability.
Uber uses event-driven architecture to decouple services. Which statement best describes this approach?
Think about how services can work independently yet stay coordinated.
Event-driven architecture uses message brokers where services publish events and others subscribe to them, enabling loose coupling and asynchronous communication.
Uber stores trip data for millions of rides daily. If each trip record is approximately 2 KB and Uber processes 10 million trips per day, what is the estimated storage needed for one year of trip data (in terabytes)?
Calculate total bytes per day, then multiply by 365 days, and convert to terabytes (1 TB = 10^12 bytes).
10 million trips * 2 KB = 20 GB per day. 20 GB * 365 = 7300 GB = 7.3 TB per year.