首页 > 其他分享 >21-springcloud-feign-3-使用Feign实现消费者

21-springcloud-feign-3-使用Feign实现消费者

时间:2023-04-12 14:45:18浏览次数:29  
标签:feign http 21 service springcloud eureka instance 服务端

使用 Feign 实现消费者,我们通过下面步骤进行: 

第一步:创建普通 Spring Boot 工程

把接口放在通用的接口层、常量类、model的项目中

第二步:添加依赖

要 添 加 的 依 赖 主 要 是 spring-cloud-starter-netflix-eureka-client 和 spring-cloud-starter-feign,如下:

<!-- spring-cloud-starter-openfeign -->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

:声明服务

定义一个 GoodsRemoteClient 接口,通过@FeignClient 注解来指定服务名称,进而绑定服务,然后再通过 SpringMVC 中提供的注解来绑定服务提供者提供的接口, 如下:

@FeignClient("SPRINGCLOUD-SERVICE-GOODS")

public interface GoodsService {

@RequestMapping("/service/goods")

public String goods();

}

这相当于绑定了一个名叫 SPRINGCLOUD-SERVICE-GOODS (这里SPRINGCLOUD-SERVICE-GOODS大小写springcloud-service-goods 都可以 ) 的服务提供者提供的/service/goods 接口;

 

:添加注解

 

在项目入口类上添加@EnableFeignClients 注解表示开启 Spring Cloud Feign的支持功能; 

 

第五步:使用 Controller 中调用服务

 

接着来创建一个 Controller 来调用上面的服务,如下:

 

public class GoodsController {

    @Autowired
    private GoodsService goodsService;

    /**
     * 使用feign进行调用
     *
     * @return
     */
    @RequestMapping("/cloud/goodsFeign")
    public ResultObject goodsFeign() {
        //调用远程的一个controller, restful的调用
        return goodsService.goods();
    }
}

第六步:属性配置

在 application.properties 中指定服务注册中心、端口号等信息,如下:

server.port=8090

#打开所有的web访问端点
management.endpoints.web.exposure.include=*

#此实例注册到eureka服务端的name
spring.application.name=springcloud-service-feign

#不注册自己,我是一个消费者,别人如果不调用我的话,我就不用注册
eureka.client.register-with-eureka=false
#每间隔2s,向服务端发送一次心跳,证明自己依然"存活"
eureka.instance.lease-renewal-interval-in-seconds=2
#告诉服务端,如果我10s之内没有给你发心跳,就代表我故障了,将我踢出掉
eureka.instance.lease-expiration-duration-in-seconds=10
#告诉服务端,服务实例以IP作为链接,而不是取机器名
eureka.instance.prefer-ip-address=true
#告诉服务端,服务实例的唯一ID
eureka.instance.instance-id=springcloud-service-feign

#eureka注册中心的连接地址
#eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka
#eureka.client.service-url.defaultZone=http://eureka8761:8761/eureka,http://eureka8762:8762/eureka,http://eureka8763:8763/eureka
eureka.client.service-url.defaultZone=http://192.168.10.128:8761/eureka,http://192.168.10.128:8762/eureka,http://192.168.10.128:8763/eureka

 

 

 

 

标签:feign,http,21,service,springcloud,eureka,instance,服务端
From: https://www.cnblogs.com/healthinfo/p/17309738.html

相关文章

  • 22-springcloud-feign-4-使用Feign实现消费者的测试
    负载均衡:我们知道,SpringCloud提供了Ribbon来实现负载均衡,使用Ribbo直接注入一个RestTemplate对象即可,RestTemplate已经做好了负载均衡的配置;在SpringCloud下,使用Feign也是直接可以实现负载均衡的,定义一个有@FeignClient注解的接口,然后使用@RequestMapping注解......
  • 17-springcloud-ribbon-3-Ribbon 负载均衡策略
    Ribbon的负载均衡策略是由IRule接口定义,该接口由如下实现:在jar包:com.netflix.ribbon#ribbon-loadbalancer中;  要使用ribbon实现负载均衡,在Spring的配置类里面把对应的负载均衡接口实现类作为一个Bean配置一下就行了;负载均衡的入口:ILoadBalancer接口如果要切换负载......
  • 16-springcloud-ribbon-2-ribbon实现服务调用
    1、首先加入ribbon的依赖,但是eureka已经依赖了ribbon,所以这里不需要再引用ribbon的依赖;2、要使用ribbon,只需要一个注解: @Bean@LoadBalancedpublic RestTemplaterestTemplate(){    RestTemplaterestTemplate=new RestTemplate();    return restTemplate;}在R......
  • UVa 113 / POJ 2109 Power of Cryptography (使用double处理大整数&泰勒公式与误差分
    113-PowerofCryptographyTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=99&page=show_problem&problem=49http://poj.org/problem?id=2109题意:给出n和p,求出 ,但是p可以很大()如何存储p?不用大数可不可以?先看看double......
  • UVa 11210 Chinese Mahjong (模拟&枚举&回溯)
    11210-ChineseMahjongTimelimit:3.000secondshttp://uva.onlinejudge.org/index.php?option=onlinejudge&page=show_problem&problem=2151Mahjong()isagameofChineseoriginusuallyplayedbyfourpersonswithtilesresemblingdominoesandbearing......
  • springcloud gateway根据服务名称进行路由失败There was an unexpected error (type=S
    出现错误,如下图:解决办法:检查自己的yaml文件:server:port:88spring:application:name:applicationNamecloud:nacos:discovery:server-addr:127.0.0.1:8848gateway:#开启服务发现路由(不开启跨域问题可能无法解决)disco......
  • 21.text--转换罗马数字
    转换罗马数字键盘录入一个字符串要求1:长度为小于等于9要求2:只能是数字将内容变成罗马数字|-1,||-2,|||-3,|V-4,V-5,V|-6,V||-7,V|||-8,|X-9注意点:罗马数字里面是没有0的,如果键盘录入的数字包含0,可以变成“”(长度为0的字符串)publicstaticvoidmain(Stri......
  • day07-OpenFeign-服务调用
    SpringCloudOpenFeign-服务调用1.OpenFeign介绍https://github.com/spring-cloud/spring-cloud-openfeignOpenFeign是一个声明式WebService客户端,使用OpenFeign让编写WebService客户端更加简单它的使用方法是定义一个服务端口然后在上面添加注解OpenFeign也支持可插拔式......
  • ABC216G
    将区间按照右端点排序,贪心的往最右边填\(1\),不难发现这样一定是正确的。感性理解一下就是越往右的位置对于后面的区间贡献越大。而且每个点最多只会被放置一个\(1\),所以我们可以暴力的找到下一个可以填的位置,并填入\(1\),可以使用线段树维护,复杂度是\(\mathcal{O}(n\logn)\)......
  • 扒一扒Nacos、OpenFeign、Ribbon、loadbalancer组件协调工作的原理
    大家好,我是三友~~前几天有个大兄弟问了我一个问题,注册中心要集成SpringCloud,想实现SpringCloud的负载均衡,需要实现哪些接口和规范。既然这个兄弟问到我了,而我又刚好知道,这不得好好写一篇文章来回答这个问题,虽然在后面的聊天中我已经回答过了。接下来本文就以探究一下Nacos、O......