Play Open
Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait Loading Please wait

手把手教你做系统设计

系统设计方法论

为什么要做系统设计

个人

For 面试

个人能力提升

拓展技术视野

工作

业务驱动

系统重构

突破和创新

如何评估一个系统

可用性

安全性

扩展性

易用性

性能

耦合性

可维护性

伸缩性

系统设计的定义:为了达成某种目的,通过个体组成整体的过程

系统

关联的个体

规则运作

组成工作的整体

设计

设想和计划

目的

过程安排

如何做系统设计:4S 分析法

场景分析(Scenario)

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

存储设计(Storage)

数据如何组织,Sql 存储,NoSql 存储

服务设计(Service)

业务功能实现和逻辑整合

可扩展性(Scale)

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

如何发现系统的瓶颈

火焰图分析

链路分析

性能测试

如何保证可用性和稳定性

链路梳理

核心链路

流量漏斗

强弱依赖

可观测性

链路追踪

核心监控

业务报警

全链路测试

压力测试

负载测试

容量测试

稳定性控制

系统限流

业务兜底

熔断降级

容灾演练

混沌工程

应急手册

容灾预案

电商秒杀业务介绍基本概念电商介绍

商品:具有交易价值和属性的信息载体

SPU:Standard Product Unit

SKU:Stock Keeping Unit

秒杀业务的特点

瞬时流量高

读多写少

实时性要求高

秒杀的挑战

资源成本

反欺诈

高性能

防止超卖

流量管控

扩展性

鲁棒性

设计秒杀系统场景(Scenario)

功能:

秒杀活动发布

秒杀商品详情

秒杀下单

并发:

万人参与秒杀

QPS 1w+

TPS 1k+

存储(Storage)

服务(Service)

子服务:

用户服务

风控服务

活动服务

订单服务

基础组件:

ID 生成器

缓存组件

MQ 组件

限流组件

扩展(Scale)

流量隔离

CDN

缓存优化

流量管控

数据库扩展

MQ 扩展

Redis 扩展

服务水平扩展

服务垂直扩展

系统架构图

课程实践秒杀流程图

代码链接课程总结

许可协议

本文采用 署名-非商业性使用-相同方式共享 4.0 国际 许可协议,转载请注明出处。

分享文章

Posted in 点球世界杯
Previous
All posts
Next