feign调用组件
大约 1 分钟常用组件微服务调用
git地址:
http://10.16.202.103:8089/component/component-ser/feign-enhancer-spring-boot-starter
解决问题
金宏网和DMZ区的Feign服务调用问题,目前DMZ的服务无法注册到金宏网上的nacos
退一步说,即使服务能够注册到nacos上,使用的地址也是当前网段内的ip,不是经过网闸代理后的对外ip,这样处于另一网段内的微服务无法进行服务调用的。
设计方案:
这里选择绕过nacos的服务注册和发现,让Feign调用走自定义的接口地址。
使用
引入依赖:
<dependency>
<groupId>com.gosci.tech</groupId>
<artifactId>feign-enhancer-spring-boot-starter</artifactId>
<version>1.0.0-SNAPSHOT</version>
</dependency>
这个依赖中已经引入了spring-cloud-starter-openfeign
,pom中就不需要重复引入原生的openfeign了。
使用原生Feign功能
项目中不需要再添加@EnableFeignClient
了,在yml中添加下面的配置,这样会使用原生的服务发现流程:
feign:
manual:
basePackage: com.service
feign.manual.basePackage
定义Feignclient的扫包路径,对应原先注解中的basePackages
属性
走自定义的服务地址
在yml中进行配置,feign.manual.enable
为true
时,服务发现时不会从nacos拉取服务地址:
feign:
manual:
enable: true
basePackage: com.service
addressMapping:
hydra-service: http://127.0.0.1:8088