SpringCloudAlibaba整合服务调用工具OpenFeign

一 OpenFeign简介

OpenFeign是一个轻量级的HTTP远程调用框架,可以以JAVA接口注解的方式调用HTTP请求,并且集成了Ribbon能自动实现客户端的负载均衡;

二 SpringCloudAlibaba整合OpenFeign

1、导入Pom依赖

<dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-openfeign</artifactId>
      <version>2.2.6.RELEASE</version>
</dependency>

2、启动类添加注解 @EnableFeignClients

@SpringBootApplication
@EnableFeignClients
public class SpringcloudalibabaConsumerApplication {
    public static void main(String[] args) {
        SpringApplication.run(SpringcloudalibabaConsumerApplication.class, args);
    }
}

3、生产者Feign客户编码

@FeignClient("springcloudalibaba-producer")
public interface ProducerFeign {
    @RequestMapping("/getPort")
    String myGetPort();
}

Feign底层原理(代理模式):

(1)、通过反射获取ProducerFeign 类上@FeignClient("springcloudalibaba-producer")服务名称;(服务名称,既获取服务调用接口的地址)

(2)、获取当前调用方法名称上@RequestMapping("/getPort");(既获取服务接口调用方法)

4、消费者服务调用

@RestController
public class MyConsumerController {
    @Autowired
    private ProducerFeign producerFeign;
    @RequestMapping("/myGetPort")
    public String myGetPort(){
        return producerFeign.myGetPort();
    }
}

三 测试访问

访问地址 既轮询访问8080和8081端口

经验分享 程序员 微信小程序 职场和发展