spring boot项目中使用nacos+sentinel,feign: sentinel: enabled: true 运行服务报错

本文介绍了在Spring Boot项目中,当使用Nacos注册中心、Sentinel流控组件和Feign时遇到的运行错误。通过在应用程序.properties文件中启用Feign的Sentinel支持,添加Nacos和Sentinel的依赖,并配置Nacos信息,以及解决启动时的错误,成功地使服务正常运行。文章提供了相应的代码示例和解决方案。

最近的开发工作中,遇到了一个让我感到困惑的问题。当我尝试使用Nacos注册中心和Sentinel流控组件,以及启用Feign中的Sentinel支持时,我的服务无法正常运行,而是抛出了一个错误。通过我的学习和研究,我成功解决了这个问题。现在就和大家分享一下我的经验,并提供相应的程序代码。

首先来看一下我在用于配置Feign的应用程序.properties文件中做了哪些修改:

# 启用Sentinel支持
feign.sentinel.enabled=true

上述配置的目的是启用Feign中的Sentinel支持,以确保我们的服务能够与Sentinel进行交互。

接下来,让我们看一下我在使用Nacos作为注册中心时的配置。

在pom.xml文件中,添加Nacos和Sentinel的依赖:

<dependencies>
    <!-- Nacos 客户端依赖 -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>

    <!-- Sentinel 客户端依赖 -->
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-sentinel</artifactId>
    </dependency>
</dependencies>

接下来,我们需要在application.properties文件中配置Nacos的相关信息:<

### feign整合sentinel概述 Feign 是一个声明式的 HTTP 客户端,简化了 HTTP API 的调用;Sentinel 是阿里巴巴开源的面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保障服务的稳定性。将 FeignSentinel 整合,可以在使用 Feign 进行服务调用时,利用 Sentinel 强大的流量控制和熔断降级能力,增强系统的稳定性和可靠性。 ### 配置feign.sentinel.enabledtrue的作用 当配置 `feign.sentinel.enabled=true` 时,Feign 的调用链会被替换为 Sentinel 包装的 Feign Invocation Handler。默认情况下,Feign 调用是通过 `ReflectiveFeign.FeignInvocationHandler` 执行的。开启该配置后,`SentinelFeign` 会替换掉这个 Handler,替换发生在 `SentinelFeign.Builder` 中,它会生成一个 `SentinelInvocationHandler` [^1]。 ### 相关注意事项 - **启动报错问题**:Feign 整合 Sentinel 开启 `feign.sentinel.enabled=true` 可能会启动报错,如出现 `Requested bean is currently in creation: Is there an unresolvable circular reference?` 错误。还有可能是因为 `spring-boot-devtools` 包导致的错误 [^2][^4]。 ### 代码示例 在 Spring Boot 项目中,若要开启 FeignSentinel 的整合,可在 `application.yml` 或 `application.properties` 中进行如下配置: #### application.yml ```yaml feign: sentinel: enabled: true ``` #### application.properties ```properties feign.sentinel.enabled=true ```
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lishiyueup

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值