微服务+NACOS,前台大量请求发往后端,10S之后的请求全部熔断

文章讲述了在私有化部署项目中,大量请求通过GATEWAY时,A工程通过FEIGN调用B工程遇到熔断问题。NACOS中删除了Hystrix配置后,虽然熔断依旧,但能保证接口访问。后来调整FEIGN、Ribbon配置,尤其是B工程的RibbonReadTimeout,解决了前台高并发请求的报错问题。作者质疑在低用户量、简单业务场景下是否真的需要使用熔断机制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

业务简述:私有化部署项目,大量请求通过GATEWAY后,在A工程中调用B工程的FEIGN

NACOS中gateway配值文件中的hystrix配值信息全部删除,虽然依旧熔断,但至少保证接口可以进入A工程;报错信息如下:

nested exception is feign.RetryableException: Read timed out executing GET http://xxxxxxxxx] with root cause
java.net.SocketTimeoutException: Read timed out
        at java.base/java.net.SocketInputStream.socketRead0(Native Method)
        at java.base/java.net.SocketInputStream.socketRead(SocketInputStream.java:115)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:168)
        at java.base/java.net.SocketInputStream.read(SocketInputStream.java:140)
        at java.base/java.io.BufferedInputStream.fill(BufferedInputStream.java:252)
        at java.base/java.io.BufferedInputStream.read1(BufferedInputStream.java:292)
        at java.base/java.io.BufferedInputStream.read(BufferedInputStream.java:351)
        at java.base/sun.net.www.http.HttpClient.parseHTTPHeader(HttpClient.java:754)
        at java.base/sun.net.www.http.HttpClient.parseHTTP(HttpClient.java:689)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1615)
        at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1520)
        at java.base/java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:527)
        at feign.Client$Default.convertResponse(Client.java:82)
        at feign.Client$Default.execute(Client.java:78)
....

为A工程NACOS配值FEIGN、RIBBON、代码中setConnectTimeout 依旧熔断后,为B工程NACOS配值FEIGN、RIBBON*这个场景重要的是ribbon配置

feign:
  client:
    config:
      default:
        connectTimeout: 30000
        readTimeout: 60000
  hystrix:
    enabled: false
ribbon:
    ReadTimeout: 60000

然后前台的“高并发”请求终于不报错了...

话说没几个用户,业务也简单的私有化部署要真的有必整熔断吗...

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值