【高并发秒杀的设计精要与实现】笔记

156 阅读2分钟

高并发秒杀场景:双十一,618

常规设计:需要在横向考虑:功能、限流、安全; 在纵向考虑:极致性能和数据的一致性; 关注全链路在高并发极限压力下的表现

      秒杀系统在设计过程中,需要用到高并发、缓存、数据库、架构和性能优化等多方面的技术知识

秒杀架构:分为主动秒杀被动秒杀 被动秒杀是场景非人为设计,比如火车票抢购

平台C端目标B端目标平台目标

(C端用户):体验是否流畅数据是否无误至关重要

(B端用户):价格数量资金上都不能出错。防止恶意下单

(平台目标):保证不影响平台其他业务

设计原则和方法:分-限-快-准-稳-练

):一是前后端资源分离,二是动态数据与静态数据的分离,三是高低频数据分离。

):1.客户端流量打散(前端可以通过答题,滑块验证,验证码)2.服务端限流,有分布式限流和单机限流(可以将业务规则概率向特定客户倾斜)3.安全校验(流量清洗),识别出黄牛党,通常方法是人机识别和cc攻击 4.秒杀品校验和资格校验:秒杀品是否还在,用户是否已经参与秒杀过等

):1.多用缓存 2.中心缓存和本地缓存 3.少用数据和计算

):数据一致:1缓存与数据库一致 2.本地缓存与中心缓存一致 3.订单和库存一致 4.前端和后端一致

):1.风险隔离 (熔断)(01:应用隔离 02数据库隔离 03:业务隔离 04:中间件隔离) 2、风险管控: 【基础指标的监控:CPU+内存+负载+网络+磁盘使用率】【JVM:Full GC、Young GC、java线程、死锁线 程、可运行线程】【中间件:接口、缓存、容量、数据库、MQ的RT和QPS以及消息堆积】

):全链路测试验收