由于国内用户对电商购物的热衷,再加上这些年,商家推出的各种优惠补贴策略和高效快捷的物流,也让大家足不出门享受到了真正的实惠。
但,对于一个 java 程序员 来讲,我更关注的是 系统架构层面 ,从原本的定时秒杀,到现在的各种 活动预热、拼团、定金膨胀、百亿补贴、跨店满减、以及更复杂的组合优惠 ,让用户一时摸不到头脑,虽然扰乱了用户购买的节奏,但也一直保持着持续升温的状态。
那么从 技术层面来分析 的话,这次优惠的复杂程度会造成原本就会有的 集中式秒杀 ,变成了 持续式高并发请求 ,这让我们的技术架构更为复杂,尤其是对 后台系统 而言, 复杂的链路调用 ,更多缓存逻辑和业务叠加给程序员们增加了额外的挑战。
当然像淘宝、京东、拼多多这种体量的用户群,在双十一之前早就做好了应对方案
对于在做 二三线电商 的小伙伴或想要了解淘宝、京东内部架构的小伙伴,我总结了以下笔记和几点技术总结:
并且准备了为期两天的 【高并发微服务】 训练营!!!
在 真实 的 高并发系统架构 下,揭秘 SpringCloud Alibaba 如何应对双十一!
话不多说,先看资料笔记
SpringCloud Alibaba淘宝微服务技术架构
资料和笔记
亿级流量高并发多级缓存架构理论
笔记部分
好了,到这里!
先领预习资料,听直播不费劲!
识别下方二维码,备注【微服务】
并且,直播中带大家在真实生产环境下,多机实测结果认清应该选择哪种技术方案,同时也能找到更适合自己系统的架构方案
技术总结:
电商高并发系统架构,SpringCloud Alibaba是如何应对双十一
-
抗住淘宝双十一的三大利器:Sentinel、Nacos、RocketMQ
-
Sentinel在淘宝双十一洪峰时限流底层实现原理
-
Alibaba Sentinel对比 Netflix Hystrix区别与优势
-
Nacos在淘宝中如何抗住百万服务注册发现与配置下发
-
RocketMQ在双十一秒杀时如何抗住亿级订单数据
-
RocketMQ对比其他中间件选型
-
Alibaba Sentinel、Nacos、RocketMQ常见高薪面试题
-
实战微服务项目基于KVM虚拟化云原生运维
-
Apache Skywalking微服务链路追踪实战
-
Prometheus整合Grafana实现微服务监控大屏
电商详情页项目实战
-
从“0”开始,10分钟构建SpringCloud Alibaba项目
-
单机、集群、微服务全链路压测实战
-
Nginx+mysql方案
-
SpringBoot + Mysql 方案
-
SpringBoot + redis 方案
-
Nginx+静态缓存方案
-
Nginx+Lua+ redis方案
-
分布式集群压测方案
-
SpringCloud+ Skywalking微服务全链路压测与监控预警
-
SpringCloud Alibaba Sentinel在淘宝双十一洪峰时限流底层实现原理
-
Prometheus整合Grafana实现微服务监控大屏
先领预习资料,老规矩啦!
识别下方二维码,备注【微服务】
如何报名:
扫上方二维码,参与报名,连续2天学习打卡,即可免费领取一本马士兵老师的实体笔记!
画外音:(三选一,包邮)
直播时间: 12月23日-12月24日
主讲老师:
直播目录:
1 .高并发系统 架构 – 理论与技术介绍 |
|
学习目标 |
对高并发项目有整体认识。了解分布式系统理论与落地技术选型依据 |
学习内容 |
东宝商城(仿淘宝)项目技术架构图 |
高并发电商系统瓶颈分析 |
|
秒杀系统多级“读、写”分离 |
|
神一样的 CAP 定理以及 BASE 理论 |
|
2 . 高并发系统 架构 – 高并发、高可用、高性能网关系统核心设计 |
|
学习目标 |
了解网关的分类、应用场景与落地技术选型 |
学习内容 |
什么是网关,网关的功能及在分布式系统中的角色 |
流量网关: 全局性流控 、 日志统计 、 防止 SQL 注入 、 防止 Web 攻击 、 屏蔽工具扫描 、 黑白名单控制 |
|
业务网关 : 实现安全、验证、路由、过滤、流控 、 缓存 、 服务路由、 业务聚合 、 |
|
开源网关技术选型: Open Resty 、 Kong 、 Zuul/Zuul2 、 Spring Cloud Gateway |
|
利用 java 响应式 Web 提升网关的并发性能 |
|
3 . 高并发系统 架构 – 高并发下的会话管理方案对比 |
|
学习目标 |
什么是会话?会话管理的常见技术及框架 |
学习内容 |
Session 与 Cookies&Token 在高并发系统中存在的问题 |
浏览器同源策略与跨域 引发的安全问题 |
|
SpringSession集群化 Session 共享引发的服务雪崩问题 |
|
有状态会话与无状态会话 Spring Security &Shiro&JWT 技术选型与对比 |
|
移动端和桌面端应用的 OAuth2.0 接入流程 |
|
OpenID 与 OAuth2.0 区别 |
|
J WT 中的 header 、 playload 、 signature |
|
4. 多级缓存 – 系统缓存整体设计策略 |
|
学习目标 |
了解缓存层的意义和常见技术解决方案。 |
学习内容 |
电商项目架构方案对比与高并发瓶颈分析 |
多源异构数据、服务数据闭环 |
|
CDN 、 WAF 流量清洗 |
|
集群、单机限流策略 |
|
nginx 本地 API 动态网页内存数据缓存渲染直接输出方案 |
|
redis 多种集群模式优缺点对比、高性能优化、 Linux 内核优化 、 企业级数据恢复灾难演练 、 集群 10 万请求高压测试 |
|
LFU 、 LRU 、 ARC 、 FIFO 、 MRU 缓存清除算法 |
|
Nginx proxy_cache lua_shared_dict ngx.shared lua-resty-lrucache ehcached 进程内缓存,究竟怎么玩? |
|
基于布隆过滤器、分层架构缓存提高缓存命中率,缓存穿透终极解决方案 |
|
5 .多级缓存 – 亿级流量多级缓存架构解决方案 |
|
学习目标 |
如何进行多级缓存架构 |
学习内容 |
流量接入缓存层 : HTTPDNS 、 Waf 、 全网 CDN 、 硬防火墙 、高性能网关、 流量清洗、分发 |
应用接入缓存层 : Nginx 静态文件缓存 、 Nginx 动态数据缓存 、 Lua-resty-lrucache 、 URL 定向缓存请求转发 、 Kafka 异步日志分析 、 单点登录系统 |
|
应用缓存层 : memcached 、 Redis Cluster 集群 、 Redis 一致性哈希存储 |
|
JVM : EHcache 、 SpringCloud |
|
数据持久层 : Hbase 、 ELK 、 Mysql 集群、 shardingsphere 、 MyCat |
|
6 .多级缓存 – 前端缓存 |
|
学习目标 |
学习前端相关知识 |
学习内容 |
浏览器缓存: ETag 、 Cache-Control 、 Last-Modified 、 Expires 、 from disk cache & from memory cache |
浏览器缓存原则 |
|
移动端 APP 缓存: 漂亮的加载过程 、 提前下发 、 兜底数据 、 临时缓存 、 固定缓存 、 父子连接 、 预加载 、 异步加载 |
|
7 . 高并发系统 架构 – 资源隔离 |
|
学习目标 |
了解进服务中的资源管理方案,避免互相影响、 隔离故障,阻止传播,不会出现滚雪球和雪崩的效应 |
学习内容 |
线程隔离 |
进程隔离 |
|
集群隔离 |
|
机房隔离 |
|
读写隔离 |
|
动静隔离 |
|
爬虫隔离 |
|
离异地多活 |
|
Sentinel 在淘宝双十一洪峰时限流底层实现原理 |
|
Alibaba Sentinel 对比 Netflix Hystrix 区别与优势 |
|
8 . 高并发系统 架构 – 系统扩容 |
|
学习目标 |
了解服务资源在利用率比较高的情况下如何进行扩容 |
业务内容 |
硬件与云服务扩容 |
服务水平扩容 |
|
数据库扩容后引发的多库 join 问题与解决方案 |
|
服务云原生: kvm 技术架构的云服务平台和 k 8s 的容器化服务架构 |
|
9 . 高并发系统 架构 – 服务降级 |
|
学习目标 |
当系统达到瓶颈的时候可以牺牲一部分功能依旧提供 有损服务 |
学习内容 |
SLA 6 个 9 的服务质量等级 |
兜底数据 |
|
限流降级 |
|
超时降级 |
|
降级开关 |
|
数据组装降级 |
|
读写降级 |
|
前端降级 、 JS 降级 |
|
接入层、应用层降级 |
|
片段降级 |
|
静态化处理 |
|
提前预埋 |
|
10. 应用层技术架构 – SpringCloud 全栈 |
|
学习目标 |
了解微服务 SpringCloud Netflix / Alibaba 、 Dubbo 技术栈 |
学习内容 |
Eureka 微服务注册与发现 |
Actuator 微服务监控 |
|
RestTemplate 服务器远程调用 |
|
Ribbon 客户端的负载均衡 |
|
OpenFeign 声明式服务调用 |
|
Hystrix 微服务熔断、降级、资源隔离 |
|
HystrixDashboard |
|
Zuul 微服务网关 |
|
Config 微服务配置中心 |
|
Sleuth zipkin 微服务链路追踪 |
|
SpringCloud Alibaba Sentinel |
|
SpringCloud Alibaba Nacos |
|
SpringCloud Alibaba RocketMQ |
|
SpringCloud Alibaba Seata |
|
SpringCloud Netflix / Alibaba 全栈平面架构图 |
|
Nacos 在淘宝中如何抗住百万服务注册发现与配置下发 |
|
SpringCloud Netflix / Alibaba 新旧两代微服务架构技术该如何选型 |
|
1 1 . 应用层技术架构 – 常用中间件服务核心解密与技术选型 |
|
学习目标 |
了解常用中间件在服务中的作用与选型 |
学习内容 |
分布式文件存储中间件 |
分布式消息中间件 |
|
分布式搜索中间件 |
|
分布式缓存中间件 |
|
高并发高性能接入层中间件 |
|
大数据技术在微服务中的应用 |
|
12 .应用层技术架构 – Spring Cloud Alibaba/Netflix 微服务治理 改造 |
|
学习目标 |
了解微服务带来的新问题以及解决方案 |
学习内容 |
将 Netflix 技术栈 改造成 Alibaba 技术栈 |
什么是分布式事 |
|
刚性事物和柔性事物 |
|
XA 两阶段提交方案 TCC 、 LCN 解决方案 |
|
Alibaba Seata 解决方案 |
|
分布式锁的场景与解决方案 |
|
多种方案生成分布式 ID 效率与安全对比 |
|
Sentinel 在淘宝双十一洪峰时限流底层实现原理 Alibaba Sentinel 对比 Netflix Hystrix 区别与优势 |
|
Nacos 在淘宝中如何抗住百万服务注册发现与配置下发 |
|
RocketMQ 在双十一秒杀时如何抗住亿级订单数据 |
|
RocketMQ 对比其他中间件选型 |
|
Alibaba Sentinel 、 Nacos 、 RocketMQ 常见高薪面试题 |
|
13 . 网约车项目 – 传统单体服务向微服务改造 |
|
学习目标 |
如何从传统服务改造成微服务 |
学习内容 |
传统服务向微服务改造的切入点 |
传统项目向微服务改造中的坑,及解决思路分析 |
|
实战落地填坑(原敏感信息如何安全无缝迁移,兼容老 app 接口等) |
|
14 . 网约车项目 – 日常服务升级的思路 |
|
学习目标 |
新旧服务升级的常用方式 |
学习内容 |
介绍常用的发布方式:蓝绿发布、滚动发布、灰度发布 |
灰度发布的几种设计思路 |
|
手敲代码,带学生进行服务升级落地。 |
|
15 . 网约车项目 – 第二代微服务 Service Mesh |
|
学习目标 |
学习使用服务网格 |
学习内容 |
服务网格 Service Mesh 学习 |
服务网格 Service Mesh 和第一代微服务的异同 |
|
如何将传统微服务向 服务网格迁移 |
|
实战落地 服务网格 |
|
16 .性能压测 – 单机、集群、微服务全链路压测实战 |
|
学习目标 |
通过实测数据展示多种架构方案的性能差异 |
学习内容 |
SpringBoot + Mysql 方案 |
SpringBoot + Ehcached + Mysql 方案 |
|
SpringBoot + redis+ Mysql 方案 |
|
Nginx 直连 mysql 方案 |
|
Nginx+ Lua + redis + Mysql 方案 |
|
Nginx+ 静态缓存方案 |
先领预习资料,老规矩啦!
识别下方二维码,备注【微服务】