什么是秒杀
短时间(瞬时),大量请求,购买少量商品。
秒杀带来的问题
- 高并发(读/写)
恶意请求
秒杀系统的目标
稳:高可用,系统提供稳定的服务
- 准:数据一致性
- 快:高性能
架构原则
请求流程
较少的用户与服务端的交互
减少用户对服务端的交互,节省资源让服务端鞥更好的响应更需要响应的请求
- 数据要少:请求参数和响应参数要少,减少网络开销和CPU的消耗。
- 请求数要少:合并请求。
- 路径要短:每个服务的可靠性99%,5个节点95%,故障率上升。
- 依赖要少:保证优先级高的,对优先级低的做取舍。
保证高可用
负载均衡,横向扩展,无状态水平扩张(不强依赖任何存储,数据,中间价)