Spring Boot项目整合Nacos, openfeign,hystrix。

1,安装Nacos,先根据项目spring boot的版本,去Nacos官网下载对应版本的Nacos,。

Nacos对服务器的配置有要求,服务器配置不够需要升级配置,安装Nacos需要服务器是安装了jdk的,而且要配置jdk的环境变量,如果只是安装了jdk,没有配置环境变量,安装会报错。安装配置了jdk后,启动Nacos,如果启动还是报错,要去改Nacos的配置,指定jdk的安装路径。不然还是会报找不到jdk。安装完后,启动Nacos,输入服务器ip:8848/nacos。看是否能访问,我上一篇遇到的问题都贴出来了CSDN

2,安装完后,在自己的spring boot项目里面配置注册中心的地址。

spring.application.name=cloud-xxxx-service
spring.cloud.nacos.discovery.server-addr=x.x.x.x:8848
spring.cloud.nacos.discovery.namespace=public

pom文件引入。排除ribbon因为用spring-cloud-loadbalancer做轮询。

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    <version>2021.0.1.0</version>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-ribbon</artifactId>
        </exclusion>
    </exclusions>
</dependency>

在启动类上加@EnableDiscoveryClient注解,开启。

3,A服务,B服务都注册到Nacos了,那要解决A,B服务之间的通信吧,A同事说要用openfegin,好吧,那就引入吧,注意版本,否则启动报错,我的spring boot版本是2.7的。

pom文件加:

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
    <version>3.1.7</version>
</dependency>

启动类加注解开启:@EnableFeignClients

properties配置文件设置feign的调用超时。
#连接超时时间设置
feign.client.config.default.connectTimeout=10000
#读取超时时间设置
feign.client.config.default.readTimeout=10000

代码里面使用feign调用,要调用的服务名称,服务接口类。

自己的controller类调用。

4,服务与服务之间的通信解决了,那要考虑服务的熔断吧,不然A服务调B服务,B服务一直不返回,触发了feign超时,A服务对应的接口就直接500了,不处理熔断服务雪崩啊。

#开启服务熔断支持
feign.circuitbreaker.enabled=true

pom引入

<dependency>

<groupId>org.springframework.cloud</groupId>

<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>

<version>2.2.9.RELEASE</version>

</dependency>

启动类上开启注解:@EnableHystrix

熔断回调类如下:

以上就是Spring Boot项目整合Nacos, openfeign,hystrix。

服务熔断时界面返回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

JB091

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

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

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

打赏作者

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

抵扣说明:

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

余额充值