高并发优化方案

1.高并发优化方案 原子 可见 有

1.1.单机并发能力

1.2.变同步为异步

1.3.合并写请求


1.高并发优化方案

解决高并发问题从宏观角度来说有3个方向:

其中,水平扩展和服务保护侧重的是运维层面的处理。而提高单机并发能力侧重的则是业务层面的处理,也就是我们程序员在开发时可以做到的。

因此,我们本章重点讨论如何通过编码来提供业务的单机并发能力。

1.1.单机并发能力

在机器性能一定的情况下,提高单机并发能力就是要尽可能缩短业务的响应时间ResponseTime),而对响应时间影响最大的往往是对数据库的操作。而从数据库角度来说,我们的业务无非就是读或写两种类型

对于读多写少的业务,其优化手段大家都比较熟悉了,主要包括两方面:

  • 优化代码和SQL

  • 添加缓存

对于写多读少的业务,大家可能较少碰到,优化的手段可能也不太熟悉,这也是我们要讲解的重点。

对于高并发写的优化方案有:

  • 优化代码及SQL

  • 变同步写为异步写

  • 合并写请求

代码和SQL优化与读优化类似,我们就不再赘述了,接下来我们着重分析一下变同步为异步、合并写请求两种优化方案

1.2.变同步为异步

假如一个业务比较复杂,需要有多次数据库的写业务,如图所示:

由于各个业务之间是同步串行执行,因此整个业务的响应时间就是每一次数据库写业务的响应时间之和并发能力肯定不会太好。

优化的思路很简单,我们之前讲解MQ的时候就说过,利用MQ可以把同步业务变成异步,*从而提高效率。

  • 当我们接收到用户请求后,可以先不处理业务,而是发送MQ消息并返回给用户结果。

  • 而后通过消息监听器监听MQ消息,处理后续业务

如图:

这样一来,用户请求处理和后续数据库写就从同步变为异步,用户无需等待后续的数据库写操作,响应时间自然会大大缩短。并发能力自然大大提高。 三个一起监听

优点

  • 无需等待复杂业务处理,大大减少响应时间

  • 利用MQ暂存消息,起到流量削峰整形作用 削峰填谷

  • 降低写数据库频率,减轻数据库并发压力

缺点

  • 依赖于MQ的可靠性

  • 降低了写频率,但是没有减少数据库写次数

应用场景

  • 比较适合应用于业务复杂, 业务链较长,有多次数据库写操作的业务。用mq操作

1.3.合并写请求

合并写请求方案其实是参考高并发读的优化思路:当读数据库并发较高时,我们可以把数据缓存到Redis,这样就无需访问数据库,大大减少数据库压力,减少响应时间。

既然读数据可以建立缓存,那么写数据可以不可以也缓存到Redis呢?

答案是肯定的,合并写请求就是指当写数据库并发较高时,不再直接写到数据库。而是先将数据缓存到Redis,然后定期将缓存中的数据批量写入数据库。

如图:

由于Redis是内存操作,写的效率也非常高,这样每次请求的处理速度大大提高,响应时间大大缩短,并发能力肯定有很大的提升。

而且由于数据都缓存到Redis了,积累一些数据后再批量写入数据库,这样数据库的写频率、写次数都大大减少,对数据库压力小了非常多!

优点:

  • 写缓存速度快,响应时间大大减少

  • 降低数据库的写频率和写次数,大大减轻数据库压力

缺点:

  • 实现相对复杂

  • 依赖Redis可靠性

  • 不支持事务和复杂业务 redis本就不支持事务的ACID

场景:

  • 写频率较高、写业务相对简单的场景比较适合应用于业务复杂, 业务链较长,有多次数据库写操作的

茂谷
关注 关注
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
高并发系统深度优化
赵广陆
05-17 673
目录1 背景2 高并发访问2.1 流量消峰的方案2.2 进行人为验证答题2.3 分时间段进行产品上架处理3 系统架构介绍3.1 数据同步架构3.2 数据搜索架构3.3 用户下单架构3.3.1 方案一:先扣库存在支付3.3.2 方案二:支付完减库存3.3.3 方案三:引入消息队列4 下单流程 1 背景 每年的春节是中国人的传统节日,大多数中国人都会在这一天选择回家团聚。为了方便用户进行购票,2012 年春节,铁道部推出 12306 网站,进行网络实名购票。然而,历年春节假期,巨大的访问请求都让中国铁路客户服
高并发系统的开发注意事项
The Last Song 的专栏
09-21 3203
   商用服务器经常因为一些商业的原因被很多为生活苦苦奋斗的hack们扫荡。对于一个要支持高并发的系统来说,在开发阶段有几个事情需要我们注意:  1、如果你用hibernate,注意你的主键获取不要用increment了,那玩意在并发的时候给你带来主键约束错误,还是考虑使用sequence之类的主键策略吧  2、定时任务的考虑,并不是所有的定时任务都需要考虑并发的情况。但是例如定时些数据库
大话程序猿眼里的高并发
java、c++、机器学习方向King
12-01 1633
转自http://www.importnew.com/22542.html?utm_source=tuicool&utm_medium=referral 上半部分: 高并发是指在同一个时间点,有很多用户同时的访问URL地址,比如:淘宝的双11,双12,就会产生高并发,如贴吧的爆吧,就是恶意的高并发请求,也就是DDOS攻击,再屌丝点的说法就像玩撸啊撸被ADC暴击了一样,那伤害你懂得(
高并发优化
xzl的博客
09-13 446
Java高并发秒杀API(四)之高并发优化=================================================== 1. 高并发优化分析 关于并发 并发性上不去是因为当多个线程同时访问一行数据时,产生了事务,因此产生写锁,每当一个获取了事务的线程把锁释放,另一个排队线程才能拿到写锁,QPS(Query Per Second每秒查询率)和事务执行的时间有密切关系,事务执行时间越短,并发性越高,这也是要将费时的I/O操作移出事务的原因。 在本项目中高并发发生在哪? 在上图
IIS网站高性能高并发优化解决方案
11-23
【IIS网站高性能高并发优化解决方案】 随着互联网项目的访问量逐渐增大,对于服务器的性能要求越来越高。在这种情况下,IIS(Internet Information Services)网站的优化显得尤为重要,特别是针对高并发场景。本文...
Java秒杀系统方案优化-高性能高并发实战
04-16
Java秒杀系统方案优化-高性能高并发实战 Java秒杀系统方案优化-高性能高并发实战
高并发下的Nginx优化方案
01-09
我已经谈过一些关于Nginx的常见问题,其中有一些是关于如何优化Nginx,很多Nginx新用户是从Apache迁移过来的,因些他们过去...  是说,很多影响Nginx行为的参数其默认值并不是完全适合高并发的情况。我们也要考虑Ng
.net高并发解决方案
03-04
总的来说,.NET高并发解决方案结合了Entity Framework和RabbitMQ的优势,前者通过对象化操作简化数据库管理,后者通过异步消息处理降低了系统压力。这种组合方式不仅可以提升系统的响应速度,还能保证在高负载情况下...
高并发解决方案
05-07
在IT行业中,高并发解决方案是针对大量用户同时访问或操作同一系统、应用或服务时,保证系统稳定、高效运行的技术策略。高并发场景通常出现在互联网服务、电子商务、社交媒体、在线游戏以及大数据处理等领域。以下是...
Java高并发优化
踏雪寻梅
03-24 587
经过查资料,方案如下所示。   1 从最基础的地方做起,优化我们写的代码,减少必要的资源浪费。         a、避免频繁的使用new对象,对于整个应用只需要存在一个实例的类,我们可以使用单例模式。对于String连接操作,使用      StringBuffer或StringBuilder,对于工具类可以通过静态方法来访问。         b、避免使用错误的方式,尽量不用instan
高并发优化方法
妖君你好的博客
01-10 473
(一部分来自黑马或者慕课  ,好久了,忘了) 网络传输 和 GC影响 是硬伤, 解决了这两个,其他都好说。    数据库:尽量单表查询,好处是:a、好扩展(分库分表)  b、缓存利用率高   c、易于维护  d ... 分布式消息队列:a、起到请求缓冲作用  b、与分布式服务系统平滑过渡   c ... 分布式缓存: 好处:没别的 扩展好, 在集群环境下
高并发写入优化
大道至简
06-17 1102
数据库优化:选择合适的数据库类型和版本,使用合适的数据库引擎、缓存、索引等技术来提高数据库的写入性能。还可以考虑使用分库分表、异步写入等技术来降低单个数据库的写入压力。缓存优化:使用缓存来减轻数据库写入的压力,可以考虑使用内存数据库、分布式缓存等技术来提高缓存的读写性能。还可以使用缓存预热、缓存穿透等技术来提高缓存的效率。消息队列:使用消息队列来异步处理写入请求,可以将写入操作转化为消息发送,然后由消费者异步处理。异步处理:使用异步处理技术,如异步 IO、线程池等技术来提高系统的并发处理能力。
高并发全链路优化
zhaozhenzuo的专栏
04-03 2173
一.概述 高并发就是系统在大流量的情况下保证对客户提供持续稳定的访问。 高并发解法:水平&垂直拆分,读写分离,负载均衡,缓存,异步,限流&熔断&超时控制&故障转移(悲观保系统可用性),池化(连接池或内存块池化)。 高并发核心原则:优先将流量挡在前置结点。 而在设计一个高并发系统的时候,需要做以下事情: 1.定指标 需要根据业务制定相应的高并发指标,通常是:tps,qps,以及访问性能的指标如99%的访问在100ms以内。 2.根据指标进行架构选型...
java高并发开发
最新发布
weixin_41448602的博客
06-30 25
Java高并发开发科普 一、引言 随着互联网的发展,高并发成为了一个越来越重要的话题。在处理大量请求的同时,保证系统的稳定性和性能是开发者们面临的挑战。Java作为一种广泛应用于服务器端开发的语言,其高并发开发技术也备受关注。 本文将介绍Java高并发开发的相关概念、常用技术和实践经验,帮助读者更好地理解和应用这方面的知识...
写文章

热门文章

  • JVM参数-Xms和-Xmx等 17904
  • CSV 文件是什么 4203
  • 解决Mapper接口错误: 使用MyBatis Plus时未正确继承BaseMapper接口或添加@Mapper注解导致无法使用相关方法的探索与编程实践 3896
  • 解决使用MyBatis Plus自动映射功能中数据库表与实体类不匹配导致映射失败的深度探索与分布式实践 3574
  • 解决SQL语句错误: 在使用MyBatis或MyBatis Plus执行SQL语句时的探索与编程实践 1794

分类专栏

  • Spring 1篇

最新评论

  • 2058 SQLyog错误号码 plugin caching_sha2_password could not be loaded

    m0_69781635: 有用的,谢谢

  • 垃圾收集器与内存分配策略

    手法king: 通俗易懂,简洁明了,写的很详细有很多不懂的地方都很容易理解,支持加油

  • Java数据结构相关面试题

    CSDN-Ada助手: 恭喜你开始博客创作!选择Java数据结构作为第一篇主题是一个很好的开始。数据结构是编程中非常重要的一部分,对于面试准备来说尤为关键。希望你能够深入探索Java中常见的数据结构,并结合实际应用场景进行分析,以便读者更好地理解和应用。同时,我建议你在博客中加入一些常见的面试题,并提供详细的解答,这样读者可以更好地理解和掌握相关知识。期待看到你在博客创作上的进一步发展!加油! 推荐【每天值得看】:https://bbs.csdn.net/forums/csdnnews?typeId=21804&utm_source=csdn_ai_ada_blog_reply1

  • 策略模式简介

    洛杉矶暖男: 还得是少爷

  • BIO、NIO和AIO

    CSDN-Ada助手: 恭喜您写了第12篇博客!标题“BIO、NIO和AIO”听起来非常有趣和有挑战性。您对这些主题的深入探讨无疑为读者提供了宝贵的知识和见解。接下来,我建议您可以考虑分享一些实际应用案例或者比较不同I/O模型的优劣势,以帮助读者更好地理解这些概念并在实践中应用。期待您未来更多的精彩创作!

大家在看

  • 2.HTML基本标签 1
  • 黑客 如何攻破一个网站?长文图解全流程,零基础入门到精通,收藏这篇就够了
  • RK3588S|定时器中断使用按键消抖|使用 poll 完成 2 个按键的检测|结合之前所学所有内容,完成按键控制灯
  • 【数据结构与算法】链表(上) 19
  • 什么是CSRF 攻击 953

最新文章

  • MacBook安装使用VLC Media Player多媒体播放器
  • JDK8的新特性
  • MySQL启动失败
2024年2篇
2023年110篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳坪山网站建设公司凌海企业网站优化服务海南网站优化排名厂家报价企业网站标题优化方案网站建设优化机构台山网站建设优化安徽优化网站抚顺正规seo网站优化平台网站SEO优化要多长时间网站seo优化公司哪家比较好湖州市网站优化阿拉山口网站优化云浮外贸网站关键词优化工具佛山网站优化策略昆山网站优化工作室无锡网站优化收费正确的优化流程来优化网站广元网站优化商丘优化网站排名怎么样南宁网站优化维护企业网站优化推广方案宜昌本地网站优化多少钱东台网站搜索优化企业河南网站搭建郑州优化推广哪家好贵阳网站排名优化价格网站优化推广企业谷歌网站关键词优化工具某购物网站为优化营销策略长沙网站优化加盟合作恩平网站建设优化深圳信息类网站优化方式有哪些香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声卫健委通报少年有偿捐血浆16次猝死汪小菲曝离婚始末何赛飞追着代拍打雅江山火三名扑火人员牺牲系谣言男子被猫抓伤后确诊“猫抓病”周杰伦一审败诉网易中国拥有亿元资产的家庭达13.3万户315晚会后胖东来又人满为患了高校汽车撞人致3死16伤 司机系学生张家界的山上“长”满了韩国人?张立群任西安交通大学校长手机成瘾是影响睡眠质量重要因素网友洛杉矶偶遇贾玲“重生之我在北大当嫡校长”单亲妈妈陷入热恋 14岁儿子报警倪萍分享减重40斤方法杨倩无缘巴黎奥运考生莫言也上北大硕士复试名单了许家印被限制高消费奥巴马现身唐宁街 黑色着装引猜测专访95后高颜值猪保姆男孩8年未见母亲被告知被遗忘七年后宇文玥被薅头发捞上岸郑州一火锅店爆改成麻辣烫店西双版纳热带植物园回应蜉蝣大爆发沉迷短剧的人就像掉进了杀猪盘当地回应沈阳致3死车祸车主疑毒驾开除党籍5年后 原水城县长再被查凯特王妃现身!外出购物视频曝光初中生遭15人围殴自卫刺伤3人判无罪事业单位女子向同事水杯投不明物质男子被流浪猫绊倒 投喂者赔24万外国人感慨凌晨的中国很安全路边卖淀粉肠阿姨主动出示声明书胖东来员工每周单休无小长假王树国卸任西安交大校长 师生送别小米汽车超级工厂正式揭幕黑马情侣提车了妈妈回应孩子在校撞护栏坠楼校方回应护栏损坏小学生课间坠楼房客欠租失踪 房东直发愁专家建议不必谈骨泥色变老人退休金被冒领16年 金额超20万西藏招商引资投资者子女可当地高考特朗普无法缴纳4.54亿美元罚金浙江一高校内汽车冲撞行人 多人受伤

深圳坪山网站建设公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化