秒杀系统的难点在哪?如何突破?
秒杀系统的特点就是大量的并发读和并发写。要想实现秒杀系统就必须实现高并发读、高并发写。
解决并发读的问题就是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据。
解决并发写的问题就是尽量减少用户到服务端写数据。
解决思路
1) 动静分离,数据拆分、静态缓存、最后数据整合。动静分离对于性能的提升,抽象起来只有两点,一是数据要尽量少,以便减少没必要的请求,二是路径要尽量短,以便提高单次请求的效率。具体方法其实就是基于这个大方向进行的。
2) 避免时间未到,用户跳过秒杀页面,直接下单,只需要保存下单地址,动态随机生成下单地址,让用户无法猜到下单地址,下单地址通过 JS 传递到客户端,时间未到时间传输空,时间到才传输真实的下单地址。
评论