FeignClient如何脱离eureka自定义URL
作者:118路司机 发布时间:2022-08-27 01:37:25
标签:FeignClient,脱离,eureka,URL
FeignClient脱离eureka自定义URL
需求
Spring Cloud环境中的FeignClient有时候需要调用特定主机的接口,但是默认是从eureka上的注册列表自动获取到的负载均衡过后的URL,这时怎么办呢?
方法一: FeignClient注解中添加URL属性
如果本地可以编译参照的FeignClient源码,可以直接修改,如果参照的是jar包,则可以另外自己做一个FeignClient,主要是要指定url属性:
@FeignClient(name = "test-service", path = "/test", url="http://localhost:8000")
public interface TestFeignClient{
@GetMapping(value = "/test1")
String test1();
方法二: eureka禁用ribbon,并手动配置服务列表
设置 ribbon.eureka.enable = false
自定义接口的服务地址
ribbon:
eureka:
enabled: false
test-service:
ribbon:
listOfServers: http://localhost:8000
注意
方法二的设置会导致所有FeignClient都需要在配置文件中自定义服务地址,
如果需要特定指定的服务URL并不多的话,推荐使用方法一。
另外,如果项目本身就不需要eureka,推荐方法二,因为url可以指定多个,来实现一定的负载均衡。
feign不使用eureka
main
@EnableFeignClients
@SpringBootApplication
public class FeignMain {
public static void main(String[] args) {
SpringApplication.run(FeignMain.class, args);
}
}
server端代码
server端依旧是用randomInt
@RequestMapping(value = "/getNum", method = RequestMethod.GET)
public int getRandomInt() {
Random random = new Random();
Integer num = random.nextInt(100);
logger.info("getRandomInt:" + num);
return num;
}
Client端代码
@FeignClient(name = "thisOnlyName", url = "http://localhost:10102")
public interface RestFulService {
/**
* 默认没有参数会使用get方法
*
* @return
*/
@RequestMapping(value = "/getNum")
int getRandomInt();
}
此处通过url直接指定就好了。不需要配置eureka。ribbon也不会生效。单节点个人学习棒棒哒!
来源:https://blog.csdn.net/qq_39609993/article/details/109554333


猜你喜欢
- 先上效果图: 工具类在解析的过程中,我们会和byte做各种运算,所以我定义了一个byte工具类ByteUtils:using Sy
- 将DataGrid中上面这个表头变成下面的两行表头,你会怎么实现?很巧妙地截断和补充td tr来实现来源:http://www.cnsend
- package com.example.myapi.email;import java.util.ArrayList;import java
- 目录springboot中定时任务的创建springboot通过注解创建定时任务首先引入pom直接上代码来一个栗子@Scheduled注解的
- 封面GitHub传送门1.写在前面本文主要讲的是在Android原生Switch控件的基础上进行样式自定义,内容很简单,但是在实现的过程中还
- 网络通信协议中的UDP通信是无连接通信,客户端在发送数据前无需与服务器端建立连接,即使服务器端不在线也可以发送,但是不能保证服务器端可以收到
- 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。在早期面向进
- Android在布局文件中为View提供了onClick属性,使用方法如下:<TextView android:id=&
- 一个简单的照相功能,拍照之后在另一个activit中显示出拍照的图片。首先是布局文件:<?xml version="1.0&
- 如何将ResultSet结果集遍历到List中今天在使用jstl标签展示查询结果时遇到一个小问题,即如何将ResultSet对象传递给前台页
- 这篇文章需要一定Vue和SpringBoot的知识,分为两个项目,一个是前端Vue项目,一个是后端SpringBoot项目。后端项目搭建我使
- 原来的测试类的注解:@RunWith(SpringRunner.class)@SpringBootTest一直没法自动注入,后来在@Spri
- 本文实例为大家分享了Java手写线程池的实现代码,供大家参考,具体内容如下1.线程池是一种多线程处理形式,处理过程中将任务添加到队列,然后在
- 微信公众号发送模版消息 背景:如下图,当用户发布需求的时候,公众号自定推送消息。例如:微信支付的时候,公众号会推送支付成功消息前提:发送模版
- springboot:接收date类型的参数今天有个postmapping方法,地址都正确,就是死活进不去,真是奇怪了。终于从日志中得出些端
- 会报错如下:org.springframework.web.util.NestedServletException: Request pro
- 一.前言RabbitMQ的TTL全称为Time-To-Live,表示的是消息的有效期。消息如果在队列中一直没有被消费并且存在时间超过了TTL
- 使用RateLimiter通过AOP方式进行限流1、引入依赖<!-- guava 限流 --><dependency>
- 本文实例讲述了Android获取手机电池电量用法。分享给大家供大家参考。具体如下:原理概述:手机电池电量的获取在应用程序的开发中也很常用,A
- IDEA安装后,前进 后退快捷按钮默认不在工具栏显示,需要手动将其添加到工具栏*按照图一选中Toolbar Run Actions ,点击右