高并发高可用

一、高并发

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)]

二、高可用

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)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值