FeignClient中name和url属性的作用说明
作者:IT学习日记 发布时间:2023-06-04 13:21:55
标签:FeignClient,name,url
name和url属性的作用
定义
feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service。
Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端。
场景
通过feign调用Eureka上注册的服务,需要指定什么属性?
解释
name
/value
属性:这两个的作用是一样的,指定的是调用服务的微服务名称url
:指定调用服务的全路径,经常用于本地测试如果同时指定
name
和url
属性: 则以url属性为准,name属性指定的值便当做客户端的名称
@FeignClient注解属性
@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)
//@FeignClient(name="runClient",url="localhost:8001")
public interface ProductClientService {}
vaule和name 其实是一个属性
鼠标点进去@FeignClient就发现他俩互相使用了别名:
@AliasFor("name")
String value() default "";
@AliasFor("value")
String name() default "";
关于调用目前有两种
1、接口提供方在注册中心。
如果服务提供方已经注册到注册中心了,那么name或者value的值为:服务提供方的服务名称。必须为所有客户端指定一个name或者value
@FeignClient(value="run-product",fallback = ProductClientServiceFallBack.class)
2、单独的一个http接口,接口提供方没有注册到注册中心。
@FeignClient(name="runClient11111",url="localhost:8001")
此处name的值为:调用客户端的名称。
以上两种方式都能正常调用。name可以为注册中心的实例名称,加上url属性时,name的值就与注册中心实例名称无关。至于url属性和name属性的关系请指导的大佬们留言呀。
补充知识点:
1、调用时间设置。
A服务调用B的接口。 B的接口如果处理时间长,导致连接超时。这时候要设置超时时间。默认是1秒。
#设置feign客户端超时时间(OpenFeign默认支持ribbon)
#ribbon:
#指的是建立连接所用的时间,适用于网络状况正常的情况下,两端连接所用的时间
# ReadTimeout: 5000
#指的是建立连接后从服务器读取到可用资源所用的时间
# ConnectTimeout: 5000
2、接口日志处理
logging:
level:
# feign日志以什么级别监控哪个接口
com.atguigu.springcloud.service.PaymentFeignService: debug
来源:https://blog.csdn.net/qq_40891009/article/details/103390079
0
投稿
猜你喜欢
- 实例如下:ServletRequestAttributes aRequestAttributes=(ServletRequestAttrib
- 本文提供了基于MD5加密16位和32位的方法,具体内容如下import java.io.IOException;import java.ma
- 一、JVM 内存模型根据 JVM 规范,JVM 内存共分为虚拟机栈、堆、方法区、程序计数器、本地方法栈五个部分。1、虚拟机栈:每个线程有一个
- Java中代码的加载顺序所能了解的知识点类的依赖关系static代码块的加载时间继承类中构造器的隐式调用非static的成员变量初始化时间m
- Gradle修改默认的Build配置文件名Gradle默认使用build.gradle作为默认的配置文件文件名。如果我们在build.gra
- 1、来源random.nextInt() 为 java.util.Random类中的方法; Math.random() 为 java.lan
- 本文主要介绍了Maven实战之搭建Maven * 和镜像的方法(图文),分享给大家,具体如下:准备工作安装3.6.*的Nexus理论Nexus
- 作者:京东零售 张宾1.背景在后台开发中,会经常用到线程池技术,对于线程池核心参数的配置很大程度上依靠经验。然而,由于系统运行过程中存在的不
- 在正式的进入主题之前,我们先来了解下深拷贝和前拷贝的概念:浅拷贝:会创建一个新对象,这个对象有着原始对象属性值的一份精确拷贝,如果属性是基本
- 导语:有些时候我们所需要查询的数据量比较大,但是jvm内存又是有限制的,数据量过大会导致内存溢出。这个时候就可以使用流式查询,数据一条条的返
- 因为mybatis好使,所以几乎需要操作数据库的时候,我都会使用mybatis,而且在一个正式的项目中,同时存在BS和CS的程序,都使用的M
- 项目需要去调用.NET的WebSrevice,本身是Java,研究了半天,终于有些头绪,记下来。1,新建.NET WebService。只在
- JoinPoint的getSignature方法在使用springboot写aop的时候,有个JoinPoint类,用来获取代理类和被代理类
- 前端采用layui框架,讲解多文件上传的完整实现功能。前端html重点代码如下:<div class="layui-form
- MyBatis核心配置文件<?xml version="1.0" encoding="UTF-8&quo
- Java Memory Model简称JMM, 是一系列的Java虚拟机平台对开发者提供的多线程环境下的内存可见性、是否可以重排序等问题的无
- 本文实例讲述了Java使用Math.random()结合蒙特卡洛方法计算pi值。分享给大家供大家参考,具体如下:一、概述蒙特·卡罗方法(Mo
- 一、问题背景在Intellij idea中,新建Maven项目,在魔项目中新建多个模块,发现模块间相互调用失败二、问题原因模块间无法相互引用
- 1. 开方:Math.sqrt(x);2. x的a方:Math.pow(x,a);3. 绝对值:Math.abs(x);4. BigInte
- 技术场景在日常的开发、测试或运维的过程中,经常存在这样的场景,开发人员在代码中使用日志工具(log4j、slf4j)记录日志,比如请求ID、