FeignClient设置动态url方式

 更新时间:2024年11月14日 08:43:20   作者:scanklm  
文章介绍了如何在Spring Cloud环境下使用FeignClient实现负载均衡,通过配置Nacos和FeignClient属性,可以实现服务间的负载均衡调用

FeignClient设置动态url

1、引入org.springframework.cloud:spring-cloud-loadbalancer依赖包

2、feign server端nacos添加loadbalancer.ribbon.enabled配置

spring:
  cloud:
    loadbalancer:
      ribbon:
        enabled: false
    nacos:
      config:
        server-addr: ${CONFIG_NACOS_HOSTS:192.168.96.5:8848}
        file-extension: yaml
        group: ${CONFIG_NACOS_GROUP:DEFAULT_GROUP}
      discovery:
        server-addr: ${DISCOVERY_NACOS_HOSTS:192.168.96.5:8848}
#        ip: ${LOCAL_IP_ADDRESS:192.168.96.1}

3、FeignClient属性name与URL一定要指定

@FeignClient(url = “http://localhost:8080/xxxxxxx”, name = “xxx”)
  • name 属性,是@FeignClient 注解必要的,不定义会报错。
  • url 属性,一定要指定,值无所谓,因为最终都会被方法的URI参数对应值替换掉,添加这个属性的作用就是将接口的代理对象变成feign.Client.Default(LoadBalancerFeignClient),这样就绕过了从nacos取节点地址这一步(细节参见 FeignClientFactoryBean.getTarget())

4、FeignClient注解类接口添加URI参数

import java.net.URI;

@FeignClient(name = "xxx", url = "EMPTY", configuration = FeignClientConfig.class)
public interface SocketApiClient {

    @PostMapping("/test")
    R<?> test(URI uri, @RequestBody Data data);
}

如上

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 剑指Offer之Java算法习题精讲二叉树的构造和遍历

    剑指Offer之Java算法习题精讲二叉树的构造和遍历

    跟着思路走,之后从简单题入手,反复去看,做过之后可能会忘记,之后再做一次,记不住就反复做,反复寻求思路和规律,慢慢积累就会发现质的变化
    2022-03-03
  • SpringBoot整合多个Mq服务做法详解

    SpringBoot整合多个Mq服务做法详解

    SpringBoot整合rabbitmq很容易,但是整合的目的是为了使用,那要使用rabbitmq就要对其有一定的了解,不然容易整成一团浆糊。因为说到底,SpringBoot只是在封装rabbitmq的API,让其更容易使用而已,废话不多说,让我们一起整它
    2023-02-02
  • Java 动态代理的多种实现方式

    Java 动态代理的多种实现方式

    动态代理实际上是JVM在运行期动态创建class字节码并加载的过程。本文讲述了Java 动态代理的多种实现方式,感兴趣的朋友可以选择适合自己的方式
    2021-06-06
  • Java中的自定义异常捕获方式

    Java中的自定义异常捕获方式

    这篇文章主要介绍了Java中的自定义异常捕获方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-08-08
  • 详解Java HashMap实现原理

    详解Java HashMap实现原理

    HashMap是基于哈希表的Map接口实现,提供了所有可选的映射操作,并允许使用null值和null建,不同步且不保证映射顺序。本文将记录一下研究HashMap实现原理。
    2017-01-01
  • java判断字符串是否为数字的方法小结

    java判断字符串是否为数字的方法小结

    这篇文章主要介绍了java判断字符串是否为数字的方法,分别讲述了使用Java自带函数、正则表达式及ascii码三种方法进行字符串判断的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-11-11
  • SpringBoot中定时任务的使用方法解析

    SpringBoot中定时任务的使用方法解析

    这篇文章主要介绍了SpringBoot中定时任务的使用方法解析,@EnableScheduling 注解,它的作用是发现注解 @Scheduled的任务并由后台执行,没有它的话将无法执行定时任务,需要的朋友可以参考下
    2024-01-01
  • SpringBoot 整合Mybatis-Plus并输出SQL日志示例详解

    SpringBoot 整合Mybatis-Plus并输出SQL日志示例详解

    这篇文章主要介绍了SpringBoot整合Mybatis-Plus并输出SQL日志,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • Spring Cloud Alibaba Nacos 入门详解

    Spring Cloud Alibaba Nacos 入门详解

    这篇文章主要介绍了Spring Cloud Alibaba Nacos入门详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • Java设计模式之策略模式(Strategy模式)介绍

    Java设计模式之策略模式(Strategy模式)介绍

    这篇文章主要介绍了Java设计模式之策略模式(Strategy模式)介绍,Strategy是属于设计模式中对象行为型模式,要是定义一系列的算法,这些算法一个个封装成单独的类,需要的朋友可以参考下
    2015-03-03

最新评论