秒杀特性:商品个数有限时间分布集中流量超级大整体方案:产品策略 a. 分离核心流程与其他可以延后处理的流程b. 针对异常情况进行文案引导技术策略 a. 客户端、接入层、应用层、存储层 各层整个链路梳理。任何一个环节异常,都可能导致整体服务不可用。b. 客户端重试策略的合理设计。固定超时时间+随机时间长,递增的超时时间,防止自我DDOS情况的发生。c. 接入层是所有流量的入口,因此这里需要根据下游应用层处理能力,做好相应的限流。接入层可以使用 nginx, 性能有保障,配合 限流模块 实现。 其中包括 粗细管道。c1. 提前把符合条件的uid ,加入cache, 在接入层快速鉴权,过滤不符合条件的用户。c2. ip 频次 限制,设备检测,防止黑产,过滤无效用户。c3. 针对秒杀商品总数有限,每个接入点放入的有效请求数超过总数后,直接返回结果。d. 在应用层分离核心流程,在秒杀时,先处理核心流程,非关键流程延后处理,同时支持失败补偿机制,以及相应的幂等重试。e. 存储层 缓存 redis 、消息队列 kafka, 最终记录写入mysqlf. 针对秒杀商品的库存,可以存入redis,更进一步可以再把这个总值提前拆分到N个节点上。f1. 在redis中记录是否领取成功,用于用户实时查看结果。g. 领取成功后,把对应的数据写入消息队列(kafka),kafka的写入性能在极限情况下,可...