Skip to content

Commit

Permalink
feat: chapter 16
Browse files Browse the repository at this point in the history
  • Loading branch information
honkinglin committed Feb 21, 2025
1 parent 207f873 commit a600921
Showing 1 changed file with 28 additions and 0 deletions.
28 changes: 28 additions & 0 deletions docs/grokking/chapter-16.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,31 @@

难度等级:困难

## 1. 什么是在线电影票预订系统?
在线电影票预订系统为用户提供在线购买影院座位的功能。电子票务系统允许用户随时随地浏览当前上映的电影并预订座位。

## 2. 系统的需求与目标
我们的票务预订服务应满足以下要求:

**功能性需求:**
1. 票务预订服务应能列出其合作影院所在的不同城市。
2. 用户选择城市后,系统应展示该城市上映的电影。
3. 用户选择电影后,系统应展示播放该电影的影院及可用场次。
4. 用户应能选择特定影院的场次并预订电影票。
5. 系统应显示影厅的座位分布情况,用户可根据自己的偏好选择多个座位。
6. 用户应能区分可用座位和已预订座位。
7. 用户在支付前可暂时锁定座位,锁定时间为 5 分钟。
8. 用户应能选择等待座位释放,例如当其他用户的锁定时间到期时。
9. 等待用户应按公平的“先到先得”原则进行服务。

**非功能性需求:**
1. 系统需要支持高并发。同一座位可能会在同一时间收到多个预订请求,系统应能公平且稳定地处理。
2. 票务预订涉及金融交易,因此系统需具备安全性,并确保数据库符合 ACID 特性。

## 3. 设计考量
1. 为简化设计,假设系统不要求用户身份验证。
2. 系统不支持部分订单处理,用户要么获取全部所选票,要么无法成功预订。
3. 系统必须确保公平性。
4. 为防止滥用,系统可限制用户单次最多预订 10 张票。
5. 预计热门电影上映时流量会激增,座位将迅速被预订。因此,系统应具备良好的可扩展性和高可用性,以应对流量高峰。

0 comments on commit a600921

Please sign in to comment.