通用返回_高并发系统通用解决方案

高并发系统

3f16df83b022390e21db29b81772713e.png

高并发 High Concurrency,指系统在同一时间需要处理很多请求。一般有一些常用的指标,对高并发进行量化。

  • 响应时间(Response Time)

系统对请求做出响应的时间,例如系统处理一个DB的查询需要300ms,这个300ms就是系统的响应时间。

  • 吞吐量(Throughput)

单位时间内系统可以处理的请求数量。

  • 每秒查询率QPS(Query Per Second)

每秒可以响应的请求数量,对互联网系统来说,这个指标和吞吐量并没有明显的区分。

  • 并发用户数

可以同时承载正常使用系统功能的用户数量。例如QQ聊天软件的同时在线量,一定程度上就代表了系统的并发用户数。

高并发的通用解决方案

举一个还算恰当的例子,高并发有点像洪水水患,在抵御洪水方面,我们的先人有三个不同的思路。

大禹治水:拓宽河道,让水流更加顺畅;

都江堰:用引流的方式,把水分流到各个支流中,以分担水流压力;

葛洲坝:通过建造水库将水先存储起来,然后再把水缓缓的排出去,提高下游的御洪能力

面对高并发系统的大流量时,也会像抵御洪水一样采取类似的方案,总结起来常规的通用解决方案有三个:

  • 横向扩展

横向扩展是一种分而治之的设计方法,采用分布式的方式把系统请求量进行分开,让每一个服务节点都可以承担一部分并发和流量。

  • 缓存

当应用需要支撑更多的并发量时,意味着应用服务器或数据库服务器所做的计算也越来越多。缓存可以提高系统的性能,每个环节的请求可以从缓存中直接获取目标数据并返回,减少计算量,有效提升响应速度。

  • 异步

异步可以让某些场景下,未处理完成的请求先返回,在数据准备好之后再通知请求方,这样可以在同样的时间内处理更多的请求。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值