当前位置:首页 > 服务端 > 高并发解决方案

高并发解决方案

2022年09月17日 14:02:07服务端4

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优化

作者:发奋图强的搬砖人
来源链接:https://blog.csdn.net/m0_51312766/article/details/123590127

版权声明:
1、JavaClub(https://www.javaclub.cn)以学习交流为目的,由作者投稿、网友推荐和小编整理收藏优秀的IT技术及相关内容,包括但不限于文字、图片、音频、视频、软件、程序等,其均来自互联网,本站不享有版权,版权归原作者所有。

2、本站提供的内容仅用于个人学习、研究或欣赏,以及其他非商业性或非盈利性用途,但同时应遵守著作权法及其他相关法律的规定,不得侵犯相关权利人及本网站的合法权利。
3、本网站内容原作者如不愿意在本网站刊登内容,请及时通知本站(javaclubcn@163.com),我们将第一时间核实后及时予以删除。


本文链接:https://www.javaclub.cn/server/42727.html

标签: 高并发
分享给朋友:

“高并发解决方案” 的相关文章

我就是这样应对Java面试中的多线程与高并发的,面试官都傻眼了

我就是这样应对Java面试中的多线程与高并发的,面试官都傻眼了

1. Java线程的创建方式 (1)继承thread类 thread类本质是实现了runnable接口的一个实例,代表线程的一个实例。启动线程的方式start方法。start是一个本地方法,执行后,执行run方法的代码。   (2)实现...

如何在高并发环境下设计出无锁的数据库操作(Java版本)

  一个在线2k的游戏,每秒钟并发都吓死人。传统的hibernate直接插库基本上是不可行的。我就一步步推导出一个无锁的数据库操作。   1. 并发中如何无锁。 一个很简单的思路,把并发转化成为单线程。Java的Disruptor就是一个很好...

Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)

Java内存模型JMM 高并发原子性可见性有序性简介 多线程中篇(十)

不得不看的JMM介绍,JMM不同于java运行时内存区域划分,本文从区域划分拓展到JMM,多线程必备的知识点,并且从原子性可见性有序性三个角度深入的分析了JMM的在这几个点涉及的部分 JVM运行时内存结构回顾 在JVM相关的介绍中,有说到JAVA运行时的...

Java高并发至Synchronized

Synchronized的作用:   能够保证在同一时刻最多只有一个线程执行该段代码,以达到保证并发安全的效果。 并发编程的地位:   关键字,被java原生支持,实现互斥的基本手段、是研究高并发的基础。 不使用并发手段会有什么样的后果:   例如i++的...

Java高并发秒杀系统(二)

Java高并发秒杀系统(二)

秒杀系优化分析 1 详情页面 2系统时间 3地址暴露接口 4执行秒杀操作 秒杀系统优化实现...

《实战Java高并发程序设计》读书笔记一

《实战Java高并发程序设计》读书笔记一

第一章 走入并行世界 1、基本概念 同步:同步方法一旦开始,调用者必须等到方法调用返回后,才能继续后续操作 异步:一旦开始,方法调用就会立即返回,调用就可以继续后续操作 并发:表示两个或者多个任务一起执行,偏重于任务交替执行,而多个任务之间...

Java解决高并发下商品库存更新

Java解决高并发下商品库存更新

˃˃ _ JavaClub全栈架构师技术笔记"˃2019独角兽企业重金招聘Python工程师标准>>> 一、问题分析 先来就库存超卖的问题作描述:一般电子商务网站都会遇到如团购、秒杀、特价之类的活动,而这样的活动有一个...

互联网三高架构之高并发和高性能的理解

互联网三高架构之高并发和高性能的理解

互联网三高架构:高并发、高性能、高可用,简称三高(3H) 互联网应用系统开发肯定经常会看到高并发和高性能这两个词,可谓是耳熟能详,而具体的含义和关系真的如你所想的,真正的理解了吗? 先来看一个例子: 一个蓄水池,是1m*1m*1m=1立方米大小,有一个出水口,出...

【java】java 并发编程 CyclicBarrier 源码分析

文章目录 1.概述 4.源码阅读 4.1 构造方法 4.2 Generation 4.3 属性Condition 4.4 a...

Java挑战高并发(4):守护线程与线程阻塞的四种情况

守护线程   Java中有两类线程:User Thread(用户线程)、Daemon Thread(守护线程) 用户线程即运行在前台的线程,而守护线程是运行在后台的线程。 守护线程作用是为其他前台线程的运行提供便利服务,而且仅在普...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。