We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
1 parent f4b67d9 commit c1f07c5Copy full SHA for c1f07c5
docs/grokking/chapter-15.md
@@ -1 +1,29 @@
1
# 设计 Uber 后端
2
+
3
+我们来设计一个类似 Uber 的网约车服务,它连接需要乘车的乘客和提供车辆的司机。
4
5
+**类似服务**:Lyft、滴滴、Via、Sidecar 等
6
+**难度等级**:困难
7
+**前置知识**:设计 Yelp
8
9
+## 1. 什么是 Uber?
10
+Uber 允许用户预订司机进行出租车服务。Uber 司机使用自己的私家车载客,乘客和司机通过智能手机上的 Uber 应用程序进行沟通。
11
12
+## 2. 系统的需求和目标
13
+我们先构建一个简化版的 Uber。
14
15
+系统中有两类用户:
16
+1. **司机**
17
+2. **乘客**
18
19
+- 司机需要定期向系统报告自己的当前位置及是否可接单。
20
+- 乘客可以看到附近所有可用的司机。
21
+- 乘客可以发起打车请求,附近的司机会收到通知,提示有乘客等待接载。
22
+- 一旦司机和乘客确认行程,他们可以实时查看彼此的位置,直到行程结束。
23
+- 到达目的地后,司机标记行程完成,进入可接单状态。
24
25
+## 3. 规模估算与约束
26
+- 假设系统有 **3 亿乘客** 和 **100 万司机**,其中 **每日活跃用户(DAU)** 为 **100 万乘客** 和 **50 万司机**。
27
+- 每日约有 **100 万次行程**。
28
+- 所有活跃司机每 **3 秒** 上报一次当前位置。
29
+- 乘客发起行程请求后,系统需要**实时联系附近的司机**。
0 commit comments