一年一度的双十一,转眼又即将到来,虽然高并发秒杀系统在程序员口中是很常见的,那么作为程序员,你到底对高并发秒杀有多少理解呢?你真正实践了多少?遇到问题又可不可以解决呢?如何才能更好地理解并使用高并发秒杀系统呢?
作为一个程序员,首先需要从高纬度出发,从整体上思考问题。在我看来,秒杀其实主要解决两个问题,一个是并发读,一个是并发写。并发读的核心优化理念是尽量减少用户到服务端来“读”数据,或者让他们读更少的数据;并发写的处理原则也一样,它要求我们在数据库层面独立出来一个库,做特殊的处理。另外,我们还要针对秒杀系统做一些保护,针对意料之外的情况设计兜底方案,以防止最坏的情况发生。
秒杀的整体架构可以概括为“稳、准、快”几个关键字。 从技术角度上看“稳、准、快”,就对应了我们架构上的高可用、一致性和高性能的要求:
1.高性能。 秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。
2.一致性。 秒杀中商品减库存的实现方式同样关键。
3.高可用。 虽然我介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,我们还要设计一个 PlanB 来兜底,以便在最坏情况发生时仍然能够从容应对。
市面上有很多针对高并发秒杀系统的学习资料,但是都是零七零八的笔记,现在捡起来,也不会为时已晚的,就看你用不用心了,下面整理一些有关于高并发秒杀性能的学习笔记,希望可以对大家有帮助
基础篇


数据库篇
