高并发解决方案

1、单体应用垂直扩容

提高硬件配置:CPU、内存、磁盘,但不可能永无止境的提升。

2、单体应用水平扩容

搭建应用集群(tomcat集群),但入口只有一个,需配置负载均衡,需注意session共享!!!

服务器端实现:nginx、F5

客户端实现:springcloud的Ribbon、dubbo

3、应用拆分

单体应用逐步庞大,代码复杂,维护困难,按业务维度拆分应用,使用分布式开发,针对并发量高的应用进行扩容(集群)即可。

同一进程内的调用变成远程方法调用

远程调用技术:httpclient、dubbo、webservice

开源方案:SpringCloud、Dubbo

4、静态化

对于被频繁调用,更新频率较低的页面,可以采用HTML静态化技术。

5、动静分离

nginx处理静态资源,减轻后端服务器压力,tomcat处理动态资源。

6、缓存

HTTP缓存:

浏览器缓存:缓存web资源,未改变时使用缓存,降低服务器压力。

Nginx缓存:expires指令缓存静态资源,优先从缓存中找。

CDN缓存:内容分发网络,实现用户就近获取资源,主要缓存静态资源。

应用缓存:

内存缓存:速度快,效率高,应用重启丢失。

磁盘缓存:相对内存慢,应用重启不丢失。

多级缓存:浏览器->CDN->nginx->redis->DB

缓存内容:经常查询的数据、热点数据、IO瓶颈数据

7、队列

异步处理、服务解耦、流量削峰

适用于无需实时处理、返回结果的场景,只保证最终一致性。

8、池化

复用对象,减少频繁创建、销毁的消耗,提高性能。

对象池

数据库连接池:C3P0、DBCP(apache)、Druid(德鲁伊,阿里)

redis连接池

线程池

9、优化

数据库优化、索引、sql优化、jvm优化

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值