Ticket Master System Design
转载,经个人总结自https://www.hellointerview.com/learn/system-design/answer-keys/ticketmaster
functional request
- User view tickets
- User searches for available tickets
- User books tickets
Non-functional request
- User view& search needs availability, User book needs consistency
- searching latency < 500ms(pretty low)
- popular events handling
- read heavy system
Core entities
- Users
- Events
- player
- Venue
- Ticket
- Booking
API Design
GET /view/event:eventId
-> Event & Ticket & Venue etc
知识点:GET请求一般是最好不要+request body
POST /search?eventId = {} & startTime={}&…
->Event & Ticket & Venue etc
POST /book/event {
eventId,
paymentInfo
} -> ticketId
Raw high level design
attention, for every service you need to explain the service flow.(User->api gateway->eventSVC->get Events)
deep dive high level design
主要用来解决non-functional requirement,深入讨论一下每一个我都需要一些什么东西