关于秒杀,第一反应都是实现起来比较复杂.难点在于:并发读+并发写+设计兜底方案的实现. 比如QQ,虽然数据量很大,但是多数的数据都是细粒度的数据查询,锁冲突比较少:但12306涉及到大量的读写操作,对可用性,高性能,数据一致都有要求. 在开始前,先说一些基本概念,通常互联网的应用包含了: nginx代理层 tomcat站点层 rpc service服务层 数据层(cache和db) 方向上,降低数据层锁冲突,具体两大要点: 缓存降读 降低写的频率,将请求拦截在系统上游 所以,优化的方向,也是从上