一日一场景话题——高并发

原创
2020/12/04 15:47
阅读数 3.6K
     一次请求对应一次返回,QPS累加1,那么如果一次请求没有返回或者是异步调用,QPS是否要累加?更简单点,当接口没有返回值时,我是否可以无止境的调用,接口的极限处理能力是多少?
     我们通常都说异步的性能要比同步好,单从流程上分析,少了返回信息处理时间,肯定是能够提升接口性能,但是如果你只想到这一点说明你还是不理解高并发。
    一次请求除了业务处理需要耗时,数据返回的时候也是要耗时的,途径的每一个网络设备都可能成为高并发的功能要素。
    通常我们说做高并发设计,其实是在解决业务在一定流量的前提下的业务可用性性问题。当你的QPS是100,业务接口可用性为4个9,当QPS提升到1000,业务接口可用性下降为3个9,当QPS是10000,业务接口可用性下降为2个9,当QPS是100000,业务接口可用性下降为1个9。哈哈现在就很严重了,因为每10次调用就会有1次失败,这个体验是非常差的。当然这个时候并不能说明我们的业务接口是因为不可用造成的服务等级下降,那是因为流量上来了,因为你的接口在正常流量下服务等级是非常高的。这个时候如果你不想增加机器投入,就得限流和降级,让部分请求直接失败或者友好的提示。哈哈如果你的业务是需要达到金融级别的安全等级,限流和降级是不能从根本上解决问题的,这个时候你只能向老板申请添加机器,加大硬件投入,通过集群来提升QPS。当然并不是所有的业务都可以通过加机器来解决问题的,有些需要应用自己进行业务逻辑优化,这个时候就需要通过业务架构来梳理业务逻辑,并优化业务逻辑来确保服务边界合理,无状态等,来确保水平扩展也能比较明显的提升性能。
    所以说如果你能从一次简单的请求能够分析出这么多与高并发场景和要素,就说明你是真的懂高并发,并能够比较快的解决一些高并发的问题。

游侠——高级技术专家  架构师  业务负责人

文能执笔论天下,武能拿刀切蛋糕

如果觉得喜欢作者的观点,欢迎关注并点赞,谢谢!

本文分享自微信公众号 - 架构师玄学之路(andy_aty)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

展开阅读全文
打赏
0
1 收藏
分享
加载中
水文啊,干嘛要耽误大家时间啊
2020/12/07 11:06
回复
举报
确实是水文
2020/12/07 09:50
回复
举报
水文
2020/12/05 22:21
回复
举报
更多评论
打赏
3 评论
1 收藏
0
分享
返回顶部
顶部