FeignClient如何脱离eureka自定义URL

目录
  • FeignClient脱离eureka自定义URL
    • 需求
    • 方法一: FeignClient注解中添加URL属性
    • 方法二: eureka禁用ribbon,并手动配置服务列表
  • feign不使用eureka
    • main
    • server端代码
    • Client端代码

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也不会生效。单节点个人学习棒棒哒!

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

(0)

相关推荐

  • FeignClient中name和url属性的作用说明

    目录 name和url属性的作用 定义 场景 解释 @FeignClient注解属性 vaule和name 其实是一个属性 关于调用目前有两种 name和url属性的作用 定义 feign是声明式的web service客户端,它让微服务之间的调用变得更简单了,类似controller调用service. Spring Cloud集成了Ribbon和Eureka,可在使用Feign时提供负载均衡的http客户端. 场景 通过feign调用Eureka上注册的服务,需要指定什么属性? 解释 nam

  • 使用FeignClient设置动态Url

    目录 FeignClient设置动态Url 1. 需求描述 2. 实现方案 3. 细节分析 FeignClient注解配置url属性实现指定服务方 FeignClient设置动态Url 1. 需求描述 一般情况下,微服务内部调用都是通过注册中心,eureka,zookeeper,nacos等实现动态调用,但是对于一些外部http调用,对于不在同一微服务内,不在同一注册中心的服务调用,可以考虑SpringCloudOpenFeign,而且可以实现动态URL,通过参数动态控制. 2. 实现方案 服务

  • FeignClient如何通过配置变量调用配置文件url

    目录 通过配置变量调用配置文件url 调用指定的动态URL 1 创建demo1服务 2 创建demo2服务 测试 通过配置变量调用配置文件url 1.application.yml 配置文件配置参数 feign:   sys: http://127.0.0.1:8777 2.ISysFeignClient.java 使用@FeignClient时配置 @FeignClient(value = "sys",url = "${feign.sys}") public in

  • FeignClient如何脱离eureka自定义URL

    目录 FeignClient脱离eureka自定义URL 需求 方法一: FeignClient注解中添加URL属性 方法二: eureka禁用ribbon,并手动配置服务列表 feign不使用eureka main server端代码 Client端代码 FeignClient脱离eureka自定义URL 需求 Spring Cloud环境中的FeignClient有时候需要调用特定主机的接口,但是默认是从eureka上的注册列表自动获取到的负载均衡过后的URL,这时怎么办呢? 方法一: Fe

  • Laravel中重写资源路由自定义URL的实现方法

    前言 本文主要给大家介绍了关于Laravel中重写资源路由自定义URL的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 重写原因 近期在使用Laravel开发项目过程中,为了简化路由代码使用了Laravel的资源路由,Route::resource('photo', 'PhotoController'); 在默认情况下,Laravel生成的路由表如下: 动作 路径 Action 路由名称 GET /photo index photo.index GET /photo/c

  • flask框架自定义url转换器操作详解

    本文实例讲述了flask框架自定义url转换器.分享给大家供大家参考,具体如下: 什么是url转换器 可以指定url的规制,对url做一定的限制. 自带的url转换器 可以参考我的上一篇博客: flask–url与重定向详解 自定义url转换器 首先我们提一个需求,根据需求来写代码,现在我们假设一个url需要满足电话号码的格式才能访问我们的函数视图,例如这样的url: 127.0.0.1:5000/user/<电话号码>/. # 首先导入BaseConverter from werkzeug.

  • wordpress自定义url参数实现路由功能的代码示例

    经过两天的正则表达式的学习,和研究wordpress的路由函数,成功实现了自定义wordpress路由功能,以下是路由规则的实现.如果有自定义的url参数,要通过路由传递,必须通过wordpress的函数将参数添加进去: 复制代码 代码如下: //add query_argsfunction add_query_vars($aVars) {    $aVars[] = 'score';    $aVars[] = 'type'; // represents the name of the pro

  • 自定义feignClient的常见坑及解决

    目录 自定义feignClient的常见坑 一.从eureka上拉取相关服务的配置信息 二.feignClient 发送请求到目标服务器 三.一些坑 四 .以下是现有全部的代码粘贴出来看一下 feignClient的使用 服务提供端代码 服务调用端 自定义feignClient的常见坑 自定义feignClient 踩过的坑,因为spring cloud 需要spring 4 以上的版本,所以对于低版本工程想要使用feign就需要自定义,在定义过程中遇到了很多问题,整理总结一下.(有需要的结合g

  • Java URL自定义私有网络协议

    --声明,脑残人士远离,本博客的核心不是if-else+前缀,而是如何通过URL协议处理框架定义私有协议 URI与URL的区别 URI (uniform resource identifier)统一资源标志符:URL(uniform resource location )统一资源定位符(或统一资源定位器):URI是一个相对来说更广泛的概念,URL是URI的一种,是URI命名机制的一个子集,可以说URI是抽象的,而具体要使用URL来定位资源.URI指向的一般不是物理资源路径,而是整个系统中的映射后

  • springcloud之自定义简易消费服务组件

    本次和大家分享的是怎么来消费服务,上篇文章讲了使用Feign来消费,本篇来使用rest+ribbon消费服务,并且通过轮询方式来自定义了个简易消费组件,本文分享的宗旨是:自定义消费服务的思路:思路如果有可取之处还请"赞"一下: Rest+Ribbon实现消费服务 Rest+轮询自定义简易消费组件 使用Scheduled刷新服务提供者信息 Rest+Ribbon实现消费服务 做为服务消费方准确的来说进行了两种主流程区分1)获取可以服务2)调用服务,那么又是如何获取服务的并且又是通过什么来

  • docker-compose 部署 Apollo 自定义环境的详细教程

    目录 Apollo 配置中心是什么: Apollo的特性 客户端架构 架构和模块 一:Config Service提供配置的读取.推送等功能,服务对象是Apollo客户端 二:Admin Service提供配置的修改.发布等功能,服务对象是Apollo Portal(管理界面) 三: Meta Server 在Eureka之上我们架了一层Meta Server用于封装Eureka的服务发现接口 四:Eureka java的一个服务发现的组件 五: Portal 六:Client 客户端 部署 踩

  • iOS中使用URL Scheme进行App跳转的教程

    URL Scheme的作用 我们都知道苹果手机中的APP都有一个沙盒,APP就是一个信息孤岛,相互是不可以进行通信的.但是iOS的APP可以注册自己的URL Scheme,URL Scheme是为方便app之间互相调用而设计的.我们可以通过系统的OpenURL来打开该app,并可以传递一些参数. 例如:你在Safari里输入www.alipay.com,就可以直接打开你的支付宝app,前提是你的手机装了支付宝.如果你没有装支付宝,应该显示的是支付宝下载界面,点击会跳到AppStore的支付宝下载

  • Javascript操作URL函数修改版

    总结了一些方法,把它压缩成了一个函数对象,只有几十行代码,使用方法简单明了存为ojbUrl.js 复制代码 代码如下: /* 说明:本代码可自由复制修改并且使用,但请保留作者信息!Author: Kevin  WebSite: http://iulog.com/  QQ:251378427JS 操作 URL 函数使用说明:初始化 var myurl=new objURL(); //也可以自定义URL: var myurl=new objURL('http://www.jb51.net'); 读取

随机推荐