【day10】【实践课】手把手教你做系统设计 | 青训营笔记

100 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 10 天 ppt

资料

本节课程主要分为四个方面:

1.系统设计方法论

2.电商秒杀业务介绍

3.课程实践

4.课程总结

课前准备:

了解基本的电商概念和流程

  • 电商平台业务
  • 秒杀业务特点

MySQL

  • 安装MySQL,推荐使用MySQL8及以上版本
  • 熟悉ddl,dml等基础语法
  • 了解sql优化

Redis

  • 安装Redis,推荐最新版本
  • 了解Redis的基本数据类型和使用场景
  • 熟悉常用命令
  • 了解Lua脚本的使用
  • 了解Redis分布式锁

RocketMQ

  • 安装RocketMQ,推荐最新版本
  • 了解RocketMQ的基础概念和架构
  • 了解MQ的使用场景
  • 了解生产者如何保证消息的可靠性发送
  • 了解消费者如何保证幂等
  • 了解消费者pull和push模式的区别

OpenResty

  • 安装OpenResty,推荐最新版本
  • 了解Nginx的基础概念和使用
  • 了解Lua脚本的语法

Linux

  • 熟悉常用命令
  • 熟悉进程和线程
  • 了解Linux调优

Java

  • 按照JDK,推荐JDK11
  • 熟悉Java基础语法和lambda表达式
  • 熟悉idea的使用
  • 了解并发编程
  • 了解springboot框架的使用
  • 了解maven的使用

Jmeter

  • 安装Jmeter
  • 了解使用Jmeter压测

内容:

1.系统设计的流程

a.场景分析

b.存储设计

c.服务设计

d.可扩展性

2.发现系统的瓶颈

a.火焰图分析

b.链路追踪

c.性能测试

3.如何保证可用性和稳定性

a.链路梳理:核心链路;流量漏斗;强弱依赖;

b.可观测性:链路追踪;核心监控;业务报警;

c.全链路测试:压力测试;负载测试;容量测试;

d.稳定性控制:系统限流;业务兜底;熔断降级;

e.容灾演练:混沌工厂;应急手册;容灾预案;