• 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实现的,所以它自带了客户端负载均衡功能

     
  • 相关阅读:
    SSDT
    SSDT
    Rootkit之SSDT hook(通过CR0)
    直接用编译器按ctrl+F5运行和双击运行结果不一样
    HDU 1754 I Hate It
    HDU 1166 敌兵布阵
    网易2017内推笔试题 合唱团
    CodeForces 1151F Sonya and Informatics
    CodeForces 1151E Number of Components
    洛谷 P1962 斐波那契数列
  • 原文地址:https://www.cnblogs.com/lyon91/p/8778865.html
Copyright © 2020-2023  润新知