极客大学架构师训练营 0 期 week 09 学习笔记
性能优化
性能优化不是一蹴而就的,是循序渐进的,是因为有了性能问题而进行优化的,而不是为了优化进行优化,也并不是炫技。
常见的性能优化方案有:
宏观上:
增加服务器数量
动静分离,CDN技术
缓存
微观上:
使用异步处理
数据压缩,http2/gzip
避免使用锁
优化数据库操作
秒杀系统
秒杀系统最需要考虑的:
高性能。秒杀涉及大量的并发读和并发写,因此支持高并发访问这点非常关键。本专栏将从设计数据的动静分离方案、热点的发现与隔离、请求的削峰与分层过滤、服务端的极致优化这 4 个方面重点介绍。
一致性。 秒杀中商品减库存的实现方式同样关键。可想而知,有限数量的商品在同一时刻被很多倍的请求同时来减库存,减库存又分为“拍下减库存”“付款减库存”以及预扣等几种,在大并发更新的过程中都要保证数据的准确性,其难度可想而知。因此,我将用一篇文章来专门讲解如何设计秒杀减库存方案。
高可用。 虽然我介绍了很多极致的优化思路,但现实中总难免出现一些我们考虑不到的情况,所以要保证系统的高可用和正确性,我们还要设计一个 PlanB 来兜底,以便在最坏情况发生时仍然能够从容应对。专栏的最后,我将带你思考可以从哪些环节来设计兜底方案。
评论