Java高并发解决方案
admin
2024-03-18 02:08:44
0

1.增加硬件配置(单机)

 cpu从32位提升到64位内存从64GB提升至256GB,比如缓存服务器磁盘从HDD(Hard Disk Drive)提升为SSD(Solid State Drive,固态硬盘),针对有大量读写的应用磁盘扩容,1TB扩展到2TB,比如文件系统千兆网卡提升至万兆网卡 

不管怎么提升硬件性能,硬件性能的提升也不可能永无止境,最终还是要靠分布式解决

2.缓存

2.1 http缓存

      @AutowiredHttpServletRequest request;@AutowiredHttpServletResponse response;//DateFormat format=new SimpleDateFormat(" yyyy HH:mm:ss 'GMT'", Locale.CHINA);//当前时间//long now=System.currentTimeMillis()*1000*1000;response.addHeader("Date",new Date().toString());//过期时间http1.0支持
//        response.addHeader("Expires", format.format(new Date(now+20*1000)));//文档生存时间http1.1支持response.addHeader("Cache-Control","max-age=20");

2.2 nginx缓存

在/usr/loca/nginx/conf/nginx.conf中加入一下代码

location  /static {root  /opt/static;expires 1d; #1天
}

2.3 CDN缓存

2.4 应用缓存

内存缓存
速度快,重启后缓存丢失
磁盘缓存
速度稍慢,重启后缓存不丢失
代码组件:Guava,Ehcache
服务器:Redis,MemCache

2.5 Mybatis缓存

2.6 多级缓存

http缓存->CDN->nginx->redis->DB

2.7 缓存的使用场景

1.经常要读取的数据
2.频繁访问的数据
3.热点数据缓存
4.IO瓶颈数据
5.计算昂贵的数据
6.无需实时更新的数据
缓存的目的是减少对后端服务的访问,降低后端服务的压力

3.集群

可以服务器(tomcat)集群【用nginx转发】、mysql集群降低并发,可以负载均衡的就可以降低并发

4.拆分

4.1 数据库垂直拆分

把不同业务维度的表分到不同的数据库

4.2 数据库水平拆分

把表的某些列分到一个数据库,另一些列分到其他的数据库

还可以用mycat读写分离

5.页面静态化

对于一些访问量大的,更新频率较低的数据,可直接定时生成静态html页面,供前段访问
常用的 静态化技术:freemaker,velocity
定时任务:每个5分钟生成一次首页的静态页面
页面静态化首先可以大大提升访问速度,不需要去访问数据库或者缓存来获取数据,浏览器直接加载html页即可
页面静态化可以提升网站稳定性,如果程序或者数据库出了问题,静态页面仍然可以正常访问

        RestTemplate restTemplate=new RestTemplate();String str=restTemplate.getForObject("url",String.class);

url为你需要生成静态页面的地址,把str作为html存储到nginx可以访问的位置,页面上其他的局部更新可以用ajax

6.动静分离

采用nginx实现动静分离,nginx负责代理静态资源,tomcat负责处理动态资源,nginx可为tomcat分担压力redis并发5w左右,nginx并发5w左右,tomcat并发1000左右,mysql并发1000左右

7.消息队列

采用队列是解决高并发大流量的利器
队列的作用是:异步处理,流量削峰,系统解耦
异步处理:比如注册成功了,发优惠券、发短信、发红吧等一些其他的操作可以入队列异步处理
流量削峰:比如下单、秒杀等,用入队的方式将流量削平,变成平缓请求进行处理,避免系统崩溃
系统解耦:比如支付成功了,发消息通知物流系统,而无需直接调用这些系统

队列的应用场景
不是所有的处理都必须实时处理
不是所有的请求都必须实时告诉用户结果
不是所有的请求都必须100%一次性处理成功
保证最终一致性,不需要强一致性

常见的消息队列:ActiveMQ,RabbitMQ,RocketMQ,Kafka

相关内容

热门资讯

飞天茅台,又涨了100块,陈华... 作者:王一行 不到四个月,飞天茅台又涨价了。 加上3月31日那次涨价,今年飞天茅台的出厂价和零售价累...
银行理财收益缩水,机构集体喊话... 【大河财立方 记者 吴海舒 杨萨】“我自己买股票都没它能亏”,某社交平台上,一位网友晒出了自己购买的...
蒙商银行行长牛冠荣拟任内蒙古自... 蒙商银行行长牛冠荣拟任内蒙古自治区党委管理领导班子企业正职 人民财讯7月25日电,内蒙古自治区党委组...
首发经济破局 激活消费新动能 在昆明顺城购物中心,占地1800平方米的蜜雪冰城旗舰店人气爆棚,门口排满了前来打卡的消费者;蜡笔小新...
原创 谁... 坐在深圳南山的写字楼里往窗外看,无人机送外卖、机器人巡逻、满街的新能源车,很多外地人第一次来都会愣一...
“硬件创新基础设施”嘉立创今日... 7月24日,深圳嘉立创科技集团股份有限公司(以下简称“嘉立创”)正式启动网上网下发行申购,申购简称为...
深化产教融合 推进数智育人 哈... 7月23日,由阿里国际人工智能人才孵化中心(以下简称“阿里国际AITIC”)主办的“智启未来·数智赋...
陈春玉够“稳”,但魔法原子还“... 今年上半年,魔法原子获得了春晚的热度,但是也受到了人事和商业化的质疑。面对外界疑问,陈春玉依靠扎实的...
实物黄金和纸黄金的交易成本如何... 在黄金投资领域,实物黄金和纸黄金是较为常见的两种投资方式,而了解它们的交易成本计算方法对于投资者来说...
这些绩优股发布拟增持计划(附股... 7月以来,上市公司密集发布拟增持计划。与此同时,德明利、广钢气体、柯力传感等多家公司还发布了承诺不减...
特斯拉一周跌没18%,马斯克自... 马斯克这周不好过——特斯拉周五跌超2%,本周累跌近18%,创2022年以来最大单周跌幅;SpaceX...
原创 世... 文|江月白 编辑|江月白 近期中东局势再度掀起波澜,也门胡塞武装突然宣布封锁红海的曼德海峡,这一举...
农业农村部:乡村消费韧性持续凸... 本报记者 刘萌 7月24日,国新办举行新闻发布会介绍2026年上半年农业农村经济运行情况。农业农村部...
一杯鲜啤引爆夏夜狂欢 如东啤酒... 扬子晚报讯(记者 郭小川 通讯员 王军)如火的夏夜,怎能少了一杯清凉爽口的鲜啤?连日来,夜色中的如东...
原创 通... 时间定了,下周油价大涨!2026年汽柴油第10次上涨在即,时间将于7月31日24时准时调价,倒计时仅...
Waymo计划独立进入两地Ro... 7 月 25 日消息,据《金融时报》报道,Alphabet 旗下自动驾驶出租车企业 Waymo 在一...
日均狂赚2.39亿!宁德时代拿... 图片来源:图虫 7月24日晚,宁德时代(300750.SZ)披露2026年半年报,报告期内,公司实现...
长鑫科技下周一上市:合肥产投集... 长鑫科技下周一上市,大股东 合肥产投 都有哪些布局? 长鑫上市,合肥产投能赚多少? 作为长鑫科技发起...
ETF市场周报 | 市场回升趋... 市场回顾: 本周(2026年7月20日-7月24日),A股市场触底反弹,前4日整体走势强劲,周五略有...
美股开盘:指数涨跌不一 ,存储... 7月24日晚间,美股三大指数开盘后涨跌不一。截至发稿,标普500指数涨0.24%,道指涨0.32%,...