当前位置:网站首页 > 创业 > 正文

Spring Cloud声明式调用Feign客户端实例

0 张子豪 张子豪 2025-10-11 07:09 1

本文将讲解若何利用RestTemplate来消费办事,若何连系Ribbon在消费办事时做负载平衡。接下来将周全讲解Feign,包罗若何利用Feign来长途调剂其他办事、FeignClient的各项具体设置装备摆设,并从源码的角度深切讲解Feign。

东西/原料

  • Java情况
  • idea/eclipse
  • maven

方式/步调

  1. 1

    Feign受Retrofit、JAXRS-2.0和WebSocket的影响,采用了声明式API接口气概,将Java http客户端绑心猿意马到它的内部。Feign的首要方针是将Java http客户端的挪用变得简单。

  2. 2

    新建一个Springboot的Moudle工程,取名为eureka-feign-client。起首,在工程的pom文件中插手相关的依靠,包罗担当了本家儿maven工程的pom文件、Feign的起步依靠spring-cloud-starter-feign、Eureka Client的起步依靠spring-cloud-starter-eureka、Web功能的起步依靠spring-boot-starter-web,以及Spring boot测试的起步依靠spring-boot-starter-test,代码如下:

  3. 3

    引入这些依靠之后,在工程的设置装备摆设文件application.yml做相关的设置装备摆设,包罗设置装备摆设法式名为eureka-feign-client,端标语8765,办事注册地址为 http://localhost:8761/eureka/ ,代码如下:

  4. 4

    在法式的启动类EurekaFeignClientApplication加上注解@EnableEurekaClient开启eureka client的功能,经由过程注解@EnableFeignClients开启Feign Client的功能,代码如下:

  5. 5

    经由过程以上3个步调,该法式就具备了Feign的功能,此刻来实现一个简单的Feign Client。新建一个EurekaFeignClient的接口,在接口上加上@FeignClient注解来声明一个Feign Client,此中value为长途挪用其它办事的办事名,FeignConfig.class为Feign Client的设置装备摆设类。在EurekaFeignClient接口内部有一个sayHiFromClientEureka()方式,该方式经由过程Feign来挪用eureka-client办事的“/hi”的API接口,代码如下:

  6. 6

    在FeignConfig类上加上@Configuration注解,表白该类是一个设置装备摆设类,并注入了一个BeanName为feignRetryer的Retryer的Bean。注入该bean后,Feign在长途挪用掉败后会进行重试。代码如下:

  7. 7

    在Service层的HiService类注入EurekaFeignClient的bean,经由过程EurekaFeignClient去挪用sayHiFromClientEureka()方式,代码如下:

  8. 8

    在HiController类上加上@RestController注解,开启RestController的功能,写一个API接口“/hi”,在该接口挪用了HiService的sayHi()方式。HiService经由过程EurekaFeignClient长途挪用eureka-client办事的API接口“/hi”。代码如下:

  9. 9

    启动eureka-server工程,端标语为8761;启动两个eureka-client工程的实例,端标语别离为8762和8763;启动eureka-feign-client工程,端标语为8765,此时工程的架构图如下:

  10. 10

    在浏览器多次拜候 http://localhost:8765/hi ,浏览器为轮流显示以下内容:

    hi xiongyan, i am from port: 8762

    hi xiongyan, i am from port: 8763

    由此可见,Feign Client长途挪用了eureka-client办事(存在端口为8762和8763的两个实例)的“/hi”API接口,Feign Client有负载平衡的能力。

来源:百闻(微信/QQ号:9397569),转载请保留出处和链接!


本文链接:https://www.ibaiwen.com/web/218840.html

张子豪

张子豪

TA很懒,啥都没写...

@百闻娱乐 本站部分内容转自互联网,若有侵权等问题请及时与本站联系,我们将在第一时间删除处理。 | 粤ICP备2024343649号 | (地图