修改84模块
84消费者调用提供者9003
feign组件一般是消费侧
重点依赖
<!--springcloud openfeign --> <dependency> <groupid>org.springframework.cloud</groupid> <artifactid>spring-cloud-starter-openfeign</artifactid> </dependency>
激活sentinel对feign的支持
spring:
application:
name: nacos-order-consumer
cloud:
nacos:
discovery:
#nacos服务注册中心地址
server-addr: localhost:8848
sentinel:
transport:
#配置sentinel dashboard地址
dashboard: localhost:8080
#默认8719端口,假如被占用会自动从8719开始依次+1扫描,直至找到未被占用的端口
port: 8719
management:
endpoints:
web:
exposure:
include: '*'
# 激活sentinel对feign的支持
feign:
sentinel:
enabled: true
# 激活sentinel对feign的支持
feign:
sentinel:
enabled: true
增加业务类接口
@feignclient(value = "nacos-payment-provider",fallback = paymentfallbackservice.class)//调用中关闭9003服务提供者 public interface paymentservice { @getmapping(value = "/paymentsql/{id}") public commonresult<payment> paymentsql(@pathvariable("id") long id); }
@feignclient(value = "nacos-payment-provider",fallback =paymentfallbackservice.class)//调用中关闭9003服务提供者
@component public class paymentfallbackservice implements paymentservice { @override public commonresult<payment> paymentsql(long id) { return new commonresult<>(444,"服务降级返回,没有该流水信息",new payment(id, "errorserial......")); } }
调用失败的时候,就会调用重写的方法
修改控制类
//==================openfeign @resource private paymentservice paymentservice; @getmapping(value = "/consumer/openfeign/{id}") public commonresult<payment> paymentsql(@pathvariable("id") long id) { if(id == 4) { throw new runtimeexception("没有该id"); } return paymentservice.paymentsql(id); }
添加@enablefeignclients启动feign的功能
@enablediscoveryclient @springbootapplication @enablefeignclients public class ordernacosmain84 { public static void main(string[] args) { springapplication.run(ordernacosmain84.class, args); } }
测试
启动9003 9004 84 端口
访问:https://localhost:84/consumer/paymentsql/1
测试84调用9003,此时故意关闭9003微服务提供者,看84消费侧自动降级,不会被耗死
熔断框架比较
业务降级,是指牺牲非核心的业务功能,保证核心功能的稳定运行。简单来说,要实现优雅的业务降级,需要将功能实现拆分到相对独立的不同代码单元,分优先级进行隔离。在后台通过开关控制,降级部分非主流程的业务功能,减轻系统依赖和性能损耗,从而提升集群的整体吞吐率。
降级的重点是:业务之间有优先级之分。降级的典型应用是:电商活动期间关闭非核心服务,保证核心买买买业务的正常运行。
到此这篇关于sentinel整合feign流程详细讲解的文章就介绍到这了,更多相关sentinel整合feign内容请搜索<计算机技术网(www.ctvol.com)!!>以前的文章或继续浏览下面的相关文章希望大家以后多多支持<计算机技术网(www.ctvol.com)!!>!
需要了解更多c/c++开发分享Sentinel整合Feign流程详细讲解,都可以关注C/C++技术分享栏目—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/1236845.html