zoukankan      html  css  js  c++  java
  • Spring Cloud 四:服务消费(Feign)【Dalston版】

    Spring Cloud Feign

    Spring Cloud Feign是一套基于Netflix Feign实现的声明式服务调用客户端

    一、根据eureka-consumer复制一个服务消费者工程,命名为:eureka-consumer-feign。在pom.xml中增加下面的依赖:

    <dependencies>
        ...
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-feign</artifactId>
        </dependency>
    </dependencies>

    二、修改应用主类。通过@EnableFeignClients注解开启扫描Spring Cloud Feign客户端的功能:

    @EnableFeignClients
    @EnableDiscoveryClient
    @SpringBootApplication
    public class Application {
    
        public static void main(String[] args) {
            new SpringApplicationBuilder(Application.class).web(true).run(args);
        }
    }

    三、创建一个Feign的客户端接口定义。

    使用@FeignClient注解来指定这个接口所要调用的服务名称,接口中定义的各个函数使用Spring MVC的注解就可以来绑定服务提供方的REST接口,

    比如下面就是绑定eureka-client服务的/dc接口的例子:

    @FeignClient("eureka-client")
    public interface DcClient {
    
        @GetMapping("/dc")
        String consumer();
    
    }
    @FeignClient("eureka-client") 指定我们要调用服务名称,
    ("/dc") 绑定服务提供方的接口名

    四、修改 Controller。通过定义的feign客户端来调用服务提供方的接口

    @RestController
    public class DcController {
    
        @Autowired
        DcClient dcClient;
    
        @GetMapping("/consumer")
        public String dc() {
            return dcClient.consumer();
        }
    
    }

    通过Spring Cloud Feign来实现服务调用的方式更加简单了,通过@FeignClient定义的接口来统一的声明我们需要依赖的微服务接口。

    而在具体使用的时候就跟调用本地方法一点的进行调用即可。由于Feign是基于Ribbon实现的,所以它自带了客户端负载均衡功能

     
  • 相关阅读:
    JS使用Enter事件将输入的字符倒叙输出
    博客园 页面定制CSS代码
    C#将DataTable数据导出CSV文件
    js时间格式转换
    将十进制数据转换为二进制AND将二进制数据转换为十进制!
    ref和out的使用与区别
    形参和实参的区别
    为啥Underlay才是容器网络的最佳落地选择
    你问我答:容器篇(1)
    切忌一步到位,谈谈DevOps实施落地
  • 原文地址:https://www.cnblogs.com/lyon91/p/8778865.html
Copyright © 2011-2022 走看看