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

相关内容

热门资讯

太平鸟数字化转型:引领时尚行业... 在数字化时代,市场环境与消费者需求不断演变。为顺应这一趋势,太平鸟集团积极优化线上购物平台,强化社交...
港股异动 | 推出文档智能基础... 2月27日,云知声股价冲高,盘中一度涨超15%。截至10时31分,该股上涨9.36%,报346港元/...
居民存款迁移,驱动券商马年机会... 2月27日,券商板块低开震荡,板块个股走势分化,截至发稿,第一创业、国信证券涨超1%,华创云信、西部...
原创 特... 在访华前夕,特朗普又整出了大活儿。2月20日,美国最高法院以6:3的结果,裁定特朗普援引1977年《...
一图看懂埃斯顿(2715.HK... 首家登顶中国工业机器人解决方案市场的国产机器人企业——埃斯顿今日至3月4日招股,预期将于2026年3...
郎酒五大销售公司官宣!自主经营... 春节旺季余韵未消,郎酒就积极推进组织层面的重大突破。 早在去年2月27日举行的“2025年郎酒全国...
广州天河区混合型社区物业满意度... 混合型社区(含住宅、底商、公寓)的物业需兼顾居民与商户需求,(广州物业满意调查)(物业满意度调研)(...
水井坊要卖了?“酒王”正式回应 本文自南都·湾财社。 采写 | 南都·湾财社记者 张海霞 白酒调整周期下,世界酒业巨头的日子也不算好...
春节期间金银珠宝类商品销售激 ... 2月27日,梦金园(02585.HK)股价震荡走高,盘中一度踏上24.88港元/股,创下上市以来的新...
突发!离岸人民币短线跳水 2月27日早间,离岸人民币兑美元汇率短线跳水,由涨转跌,失守6.85关口,引发市场广泛关注。 针对...
通光线缆控股股东及董事长拟减持... 2月26日,通光线缆(300265)公告,公司于近日收到控股股东通光集团、董事长兼总经理张忠分别出具...
中国AI调用量首超美国,算力租... 2月27日,算力租赁板块持续走高,利通电子(603629.SH)、云天励飞-U(688343.SH)...
企业才是未来产业的C位 《企业才是未来产业的C位》 ——别再用行政逻辑管理创新逻辑,让市场嗅觉带路 谁能把未来产业从“PP...
补齐AI推理拼图:英伟达黄仁勋... IT之家 2 月 27 日消息,科技媒体 Wccftech 昨日(2 月 26 日)发布博文,报道称...
酱酒和百元口粮酒春节热销,白酒... 来源:界面新闻 丙午马年春节期间,受到市场需求增加影响,白酒消费呈现出了回暖的趋势。 通过梳理各券商...
三菱日联银行、京都银行等将出售... 任天堂计划逐步减持战略股权,包括三菱日联 银行和京都银行在内的多家机构将出售任天堂股份。据悉,此次出...
原创 连... 按照美国的法律规定,每年美国总统都必须向国会报告国情咨文。而2026年的国情咨文对于特朗普来说尤为关...
2026年有实力的发动机国际空... 在全球化不断推进的今天,发动机等重要设备的国际运输需求日益增长。选择一家有实力的国际空运物流货运公司...
始祖鸟烟花风波百天:拒绝降价、... 158天前,始祖鸟联手蔡国强在喜马拉雅山脉地区举办烟花秀,引发大量关注与争议。环保风波、价值观反噬、...
日本芯片制造商Rapidus获... 【日本芯片制造商Rapidus获得16亿美元政府资金】财联社2月27日电,日本政府将向得到国家支持的...