高并发高可用
一、高并发
1、异步并发
同步阻塞
异步Future
异步CallBack
异步编排CompletableFuture
请求缓存
请求合并
2、扩容
单体应用垂直扩容
单体应用水平扩容
应用拆分
数据库拆分水平/垂直拆分
使用Sharding-jdbc分库分表/读写分离
数据异构
任务系统扩容
3、队列
异步处理/系统解耦/数据同步/流量削峰
缓冲队列/任务队列/消息队列/请求队列/数据总线队列
Disruptor+Redis队列
基于Canal实现数据异构
4、应用级缓存
缓存回收策略: 空间/容量/时间
缓存回收算法FIFO/LRU/LFU
Java堆/Java堆外/磁盘缓存
Guava/Ehcache/MapDB
5、HTTP缓存
浏览器缓存
HttpClient客户端缓存
Nginx代理缓存
6、多级缓存
分布式缓存
热点数据与更新缓存
更新缓存与原子性
缓存崩溃与快速修复
7、池化
数据库连接池
HttpClient连接池
线程池
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WZx4MOcP-1670769755281)(https://farm1.staticflickr.com/888/42882679512_4e2d165fe4_b.jpg)]](https://img-blog.csdnimg.cn/ca0c27b161364d4b9202bd256388519d.png)
二、高可用
2.1 超时与重试
代理层超时与重试
web窗口超时
中间件客户端超时与重试
数据库客户端超时
NOSQL客户端超时
业务超时
前端Ajax超时
2.2 回滚
事务回滚
代码 库回滚
部署版本回滚
数据版本回滚
静态资源回滚
2.3 压测与预案
2.3.1 系统压测
硅油方案:压测接口/并发量/压测策略/压测指标
压测报告:机器负载/QPS/响应时间/成功率
压测方式:线下/线上压测
读写/仿真/引流/隔离集群/缩容压测
单机/集群/离散/全链接路压测
2.3.2 系统优化和容灾
单机调优
架构优化/系统扩容
跨机房容灾
2.3.3 应急预案
网络接入层(DNS/LVS/HaProxy)
应用接入层(Nginx/OpenRestry)
WEB应用层(Tomcat)
服务层(Dubbo)
数据层(Redis/DB)
2.3.4 监控报警
服务器监控/系统监控/JVM监控/接口监控
报警策略:监控时间段、报警阀值、通知方式
2.4 负载均衡
负载均衡算法
失败重试机制
健康检查机制
动态负载均衡
2.5 限流
限流算法
应用级限流
分布式限流
接入层限流
2.6 降级
降级预案
自动降级/开关降级
读服务/写服务降级
多级降级
配置中心
使用Hystrix降级
使用Hystrix熔断
2.7 隔离
进程线程隔离
集群/机房隔离
读写隔离
动静隔离
爬虫/热点隔离
使用Hystrix隔离
基于Servlet3的请求隔离
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9Rf0dYzI-1670769642304)(https://farm2.staticflickr.com/1765/42882676502_0e93cc9e67_b.jpg)]](https://img-blog.csdnimg.cn/1e3a051bf27f4be1822f493db6573167.png)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/81308.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!