字节青训营——秒杀系统设计学习笔记(一)

本文介绍了电商秒杀系统的系统设计过程,包括场景分析、存储设计、服务设计和可扩展性的考虑。系统面临高并发、瞬时流量大等挑战,通过使用MySQL、Redis和LocalCache进行数据存储,构建用户服务、风控服务、活动服务和订单服务等子服务,以及利用ID生成器、缓存组件、MQ和限流组件来提升性能和稳定性。同时,采用流量隔离、CDN和各种扩展策略确保系统的高性能和鲁棒性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何做系统设计

1. 场景分析(Scenario)

什么系统,需要哪些功能,多大的并发量

2. 存储设计(Storage)

数据如何组织,Sq|存储, NoSq|存储

3. 服务设计(Service)

业务功能实现和逻辑整合

4. 可扩展性(Scale)

解决设计缺陷,提高鲁棒性、扩展性

如何保证可用性和稳定性

在这里插入图片描述

电商秒杀业务介绍

业务特点

  • 瞬时流量高
  • 读多写少
  • 实时性要求高

主要挑战

资源成本、资源成本、防止超卖、高性能、流量管控、扩展性、鲁棒性

如何设计

1. 场景

  • 功能:1. 秒杀活动发布 2. 秒杀商品详情 3. 秒杀下单
  • 并发:1. 万人参与秒杀 2. QPS 1W+ 3. TPS 1k+

2. 存储

mysql->redis->localcache

在这里插入图片描述

3.服务

  • 子服务:1. 用户服务 2. 风控服务 3. 活动服务 4. 订单服务
  • 基础组件:1. ID生成器 2 .缓存组件 3. MQ组件 4. 限流组件

4.扩展

流量隔离、CDN、缓存优化、流量管控、数据扩展、MQ扩展、Redis扩展、服务垂直/水平扩展

系统架构图

在这里插入图片描述

秒杀流程图

在这里插入图片描述

服务无状态->批量写入->最终一致性

面试参考:https://www.bilibili.com/video/BV1dP411w7Wt/?spm_id_from=333.337.search-card.all.click&vd_source=1bf97eebc4302da23ef24969da020c74

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程哥哥吖

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值