江苏公众科技网站建设,惠州做网站,织梦一键更新网站,杭州网络游戏公司排名而Feign则会完全代理HTTP请求#xff0c;我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Feign整合了Ribbon和Hystrix#xff0c;可以让我们不再需要显式地使用这两个组件。 
Feign具有如下特性#xff1a; 
支持可插拔的HTTP编码器和解码器; 
支持Hystrix和…而Feign则会完全代理HTTP请求我们只需要像调用方法一样调用它就可以完成服务请求及相关处理。Feign整合了Ribbon和Hystrix可以让我们不再需要显式地使用这两个组件。 
Feign具有如下特性 
支持可插拔的HTTP编码器和解码器; 
支持Hystrix和它的Fallback; 
支持Ribbon的负载均衡; 
支持HTTP请求和响应的压缩。 
有点像我们springmvc模式的Controller层的RequestMapping映射。这Feign是用FeignClient来映射服务的。 
创建一个项目 dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactIdversion2.2.7.RELEASE/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/versionscopeprovided/scope/dependency!--eureka-server--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactIdversion2.2.1.RELEASE/version/dependencydependency!-- 引入自己定义的api通用包可以使用Payment支付Entity --groupIdcom/groupIdartifactIdcloud-api-commons/artifactIdversion0.0.1-SNAPSHOT/version/dependency 
总依赖 
?xml version1.0 encodingUTF-8?
project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.2.2.RELEASE/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom/groupIdartifactIdspringcloud/artifactIdversion0.0.1-SNAPSHOT/versionnamecloud-consumer-feign-order80/namedescriptioncloud-consumer-feign-order80/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactIdversion2.2.7.RELEASE/version/dependencydependencygroupIdjavax.servlet/groupIdartifactIdjavax.servlet-api/artifactIdversion4.0.1/versionscopeprovided/scope/dependency!--eureka-server--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-eureka-server/artifactIdversion2.2.1.RELEASE/version/dependencydependency!-- 引入自己定义的api通用包可以使用Payment支付Entity --groupIdcom/groupIdartifactIdcloud-api-commons/artifactIdversion0.0.1-SNAPSHOT/version/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-devtools/artifactIdscoperuntime/scopeoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-configuration-processor/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.apache.maven.plugins/groupIdartifactIdmaven-compiler-plugin/artifactIdversion3.8.1/versionconfigurationsource1.8/sourcetarget1.8/targetencodingUTF-8/encoding/configuration/pluginplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactId/plugin/plugins/build/project application.yml 
server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://localhost:7001/eureka,http://localhost:7002/eureka 运行项目可以成功访问到。 
先启动7001与7002再启动80018002最后再启动80. 
OpenFign日志增强 FeignConfig 
package com.springcloud.config;import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** auther zzyy* create 2020-02-20 9:40*/
Configuration
public class FeignConfig
{BeanLogger.Level feignLoggerLevel(){return Logger.Level.FULL;}
} server:port: 80eureka:client:register-with-eureka: falseservice-url:defaultZone: http://localhost:7001/eureka,http://localhost:7002/eurekalogging:level:# feign日志以什么级别监控哪个接口com.springcloud.service.PaymentService: debug 
运行项目。 
控制台