高并发的一些解决方案

本文探讨了高并发场景下的解决方案,包括应用服务器的限流策略(令牌桶和漏桶算法)、异步化请求、统一网关入口,以及存储服务器的高并发处理,如数据库和Redis的优化。同时,文章强调了幂等性在处理高并发问题中的重要性,以防止数据错误。
摘要由CSDN通过智能技术生成

一、什么是高并发

高并发是一个相对的概念,取决于生产环境,1000 的访问量对于一个很小的公司的网站来说已经是非常高的并发了,可能会出现故障,但是这个 1000 对于淘宝双11来说,就是微乎其微.高并发一般我们指的是突发性的高并发,指的是接近或者超过了生产环境的极限。

高并发问题

  • 应用服务器的高并发处理
  • 存储服务器的高并发处理

二、应用服务器的高并发

1、限流

我们的接入服务器也好还是应用服务器也好,需要首先考虑限流,比如我的承受能力是 1000/s,现在来了 10000,另外 9000 个等待或者是直接返回错误信息等提示内容。限流的方式,主要是令牌桶算法和漏桶算法。

  • 令牌桶算法
    指的是类似于线程池的这种东西,我根据我的承受能力,不断是向桶中放令牌,满了我就不放了,来的请求必须先从桶中拿出一个令牌,能拿到说明可以请求,拿不到就不允许请求

  • 漏桶算法
    就相当于我们漏水的水桶,一般漏水比放水慢,放水可以类比为来的请求,漏水可以类比为处理的请求,你发现只要来的请求大于处理的请求(放水的速度比漏水快,基本上就代表不管你放的水多快,漏都是固定的速度)

2、异步化请求

将整个业务需要经过的服务链进行拆分,将可以异步化的地方进行异步化,提前让请求返回结果,来降低请求的时间,提升服务器的吞吐量,那就代表着我们的服务器在相同的时间里面可以处理更多的请求

3、统一的程序入口-网关

我们的程序不是所有的功能都是高并发的,有的功能访问量非常多,有的很少. 假如说如果出现了突发性并发的时候,我能不能牺牲一部分不常用的功能,然后提供这个被高并发的常用功能的可用性,比如 2018 年淘宝双 11,淘宝降低了用户查询更改收货地址服务的权重.减少了他们的服务器使用量,将多出来

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值