springcloud feign 讲解

来源:互联网 发布:电子签章软件 编辑:程序博客网 时间:2024/06/06 03:27

前言

由于项目中要使用springcloud来构建项目,所以做了一个feign调用的项目

 

项目构造

采用maven进行项目构造,创造了一个parent项目[springcloud-parent],包含4个子项目(一个eureka服务注册中心[springcloud-eureka]、一个接口[springcloud-api]、一个服务提供者[springcloud-feign-provider]、一个服务消费者[springcloud-feign-client])

 

子项目讲解

1、  服务注册中心:提供项目注册服务,具体构建可以参考实例

2、  接口:提供集成的接口查询,主要用于服务提供者和服务消费者来实现并操作接口

3、  服务提供者:实现接口,提供实现方法,并注册到“服务注册中心”

4、  服务消费者:实现接口feign,提供controller,用于用户访问,并注册到“服务注册中心”


项目关联缩略图


Feign配置关键点讲解

1、springcloud-feign-provider项目中配置application.properties时,注册的

spring.application.name 决定了 springcloud-feign-client项目中接口注解

@FeignClient(value=””)的命名。

Client项目中的接口extends了api项目中统一的接口

Provider项目中的实现类具体实现了api项目中的统一接口

 

通过FeignClient 将提供者provider的实现提供给client消费者进行调用。

 

服务提供者和服务消费者在声明注册中心的hostname时,请设定为注册中心的IP地址,否则会造成URLconnectException或者访问超时的问题。

eureka.instance.hostname=127.0.0.1。

 

具体实现请查看demo,觉得这套架构还需要一些深入的研究与理解方能熟练运用。