• springcloud9:openFeign


    • openFeign服务接口调用
      Ribbon服务调用和负载均衡,那么openFeign也是这种作用,openFeign是用来干嘛的?
      Feign能干什么?
      以前是Ribbon+RestTemplate模板化调用方法,Feign在此基础上进一步封装
    • 对比
      原来:客户端到服务端需要
      负载均衡注解+RPC远程调用,用到restTemplate,用到@Ribbon,@LoadBalanced
      有了Feigh:直接在客户端声明一个feign注解的接口对应服务端的接口,即让两个接口中的方法一一对应,即客户端可以直接调用本地接口(feign帮助绑定)来实现远程调用
      使用:接口+相关注解
    • Feign和OpenFeign的区别
      OpenFeign增强了springmvc的支持
    • 用OpenFeign代替Ribbon+restTemplate
    • 具体使用openfeign
    在主启动类中
    //激活并开启FeignClient的注解
    @EnableFeignClients
    
    • 1
    • 2
    • 3
    @Component
    @FeignClient("CLOUD-PAYMENT-SERVICE")//对应远程调用的注册服务中心的注册名
    public interface PaymentFeignService {
        @GetMapping("/payment/get/{id}")//对应远程调用的方法名
        public CommonResult getPaymentById(@PathVariable("id") Long id);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    //直接使用即可
     @Resource
        private PaymentFeignService paymentFeignService;
    
        @GetMapping("/consumer/payment/get/{id}")
        public CommonResult> getPaymentByID(@PathVariable("id") Long id){
            return paymentFeignService.getPaymentById(id);
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • Feign的其他配置
      OpenFeign默认连接时间1秒钟,超过一秒钟,则直接报错
      超时控制:
      在yml配置文件中
    ribbon:
    ##指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间
    ReadTimeout: 5000
    ##指的是建立连接后从服务器读取到可用资源所用的时间
    ConnectTimeout: 5000
    
    • 1
    • 2
    • 3
    • 4
    • 5

    日志打印:
    写配置bean
    在yml文件中:

    logging:
    level:
    //feign日志以什么级别监控哪个接口
      com.atguigu.springcloud.service.PaymentFeignService: debug
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    Javaweb安全——Tomcat 内存马基础
    STM32串口发送接收完结
    IntelliJ IDEA使用——Debug操作
    Seatunnel系列之:Apache Iceberg sink connector和往Iceberg同步数据任务示例
    如何修复Power BI【View usage metrics report】指标报表数据源更新问题?
    Express学习(一)
    QT实现钟表
    Flink SQL --维表join
    【Kubernetes 系列】ConfigMap 进阶 环境变量的配置及使用
    老板叫我把几十万条Excel数据录入系统
  • 原文地址:https://blog.csdn.net/qq_44724899/article/details/128007111