Strong consistency : driver and user should see same data.
Compliance : the location data should be separated with user's identification data
Availability
Scalability : User and driver and call would be getting more and more
DAU : 50M
HAU on peak hours : 40M
Driver : 40M
Call on peak hours : 40M
payment : 50M*256B = 5.12G/day
driver matching service : find available driver near customer
Notification service
Pricing service : calculate price
map matching service : matching location of driver and customer to map
payment service
route planing service
driver service : register driver and vehicle
HTTP error code will be used
[Driver] index(location, vehicle_type)
[Customer]
[Call]
[Route_Plan]
[payment]
RDBMS vs NoSQL : strong consistency is important for this service. RDBMS would be more good for this.
DB failure : db can be break down. we can duplicate and make replication. and using circuit breaker service can be stable.