Skip to content

Commit c1f07c5

Browse files
committed
feat: chapter 15
1 parent f4b67d9 commit c1f07c5

File tree

1 file changed

+28
-0
lines changed

1 file changed

+28
-0
lines changed

docs/grokking/chapter-15.md

+28
Original file line numberDiff line numberDiff line change
@@ -1 +1,29 @@
11
# 设计 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

Comments
 (0)