17、高并发问题:问题分析及解决方案

一、问题分析

在微服务架构中,我们将业务拆分成一个个的服务,服务与服务之间可以相互调用,由于网络原因或者 自身的原因,服务并不能保证服务的100%可用,如果单个服务出现问题,调用这个服务就会出现网络 延迟,此时若有大量的网络涌入,会形成任务累计,导致服务瘫痪。
在SpringBoot程序中,默认使用内置tomcat作为web服务器。单tomcat支持最大的并发请求是有限 的,如果某一接口阻塞,待执行的任务积压越来越多,那么势必会影响其他接口的调用。

二、解决方案

1、线程池隔离:为了不影响其他接口的正常访问,对多个服务之间进行隔离,也就是给每个服务配置一个线程池,从而当某个服务并发量太大时,使服务之间不受影响。
2、信号量隔离:比如说可以在下单方法中可以记录一个请求下单方法的一个阈值,当请求数量超过次阈值,直接报错。
在这里插入图片描述
线程池隔离详解:
(1) 配置坐标
为了方便实现线以线程池的形式完成资源隔离,需要引入如下依赖

<!--hystrix-->
        <dependency>
            <groupId>com.netflix.hystrix</groupId>
            <artifactId>hystrix-metrics-event-stream</artifactId>
            <version>1.5.12</version>
        </dependency>
        <dependency>
            <groupId>com.netflix.hystrix</</
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值