OpenFeign
fingir um cliente WebService declarativa, utilizando Feign make escrita clientes do Serviço de Web mais fácil.
Seu método é usar a definição de uma interface de serviço, em seguida, adicionar anotações no topo. Feign também suporta codificador pluggable e decodificador. Primavera Cloud para Feign o pacote, para apoiar Spring MVC anotação padrão e HttpMessageConverters. Fita Feign pode ser usado em combinação com o Eureka e para suporte de balanceamento de carga. https://spring.io/projects/spring-cloud-openfeign
Finge que posso fazer?
marcas fingir escrever java Http cliente mais fácil
Quando utilizado anteriormente fita + RestTemplate, encapsulamento usando RestTemplate HTTP processamento pedido, o método de formação de um conjunto de modelos de chamada, mas em desenvolvimento real, uma vez que mais do que uma chamada pode depender do serviço, a interface tende a ser um múltiplo invocação. Então finge Nesta base, fez um novo pacote por ele para nos ajudar a definir e implementar dependem da interface de serviço. Na realização de Feign, só precisa criar uma interface e usar anotações maneira de configurá-lo (previamente marcada Dao interface Mapper acima notas, agora é uma interface de serviço de microblogging para a marca de topo um comentário Feign) para concluir o serviço fornece uma interface para as partes se ligam a simplificar a carga de trabalho usando fita, Nuvem, Primavera, serviço de empacotamento automático chama o cliente.
Finge a fita integrado
Fita manter as informações da lista de serviços e de carga do cliente equilíbrio por meio de votação. A diferença é que, com a fita, através Feign só precisa definir os serviços de interface de ligação e métodos declarativo, implementação elegante e simples de uma chamada de serviço.
Feign e OpenFeign diferença?
Fingir |
OpenFeign |
Feign é http cliente do serviço finge uma repousante leve de componentes Primavera Nuvem construídas Ribbon, usada para balanceamento de carga serviço de cliente para chamar o registro de serviço. uso Feign é: usando notas finge a definir a interface, a interface pode chamar este serviço chamar o registro de serviço. |
OpenFeign é mola Nuvem com base de apoio feign anotações SpringMVC, tais como @RequestMapping etc. OpenFeign de interfaces @FeignClient pode ser resolvido sob @RequestMapping notas SpringMVC e gerar classe de implementação proxy dinâmico, a propósito, a carga classe de implementação de equilíbrio e chamar outros serviços |
<Dependency> <GroupId> org.springframework.cloud </ groupId> <ArtifactId> primavera-nuvem-starter-feign </ artifactId> </ Dependency> |
<Dependency> <GroupId> org.springframework.cloud </ groupId> <ArtifactId> primavera-nuvem-starter-openfeign </ artifactId> </ Dependency> |
OpenFeign etapas de uso:
A interface anotada: chamada de serviço Micro interface de + @FeignClient
Categorias Master Boot: Adicione @EnableFeignClients
default OpenFeign tempo de espera de 1 segundo depois de um erro de tempo limite (modificado yml):
server:
port: 80
eureka:
client:
register-with-eureka: true
service-url:
defaultZone: defaultZone:http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
spring:
application:
name: feign-customer-order
# 设置feign客户端超时时间(openFeign默认支持Ribbon)
ribbon:
# 建立连接后从服务器读取到可用资源的时间
ReadTimeout: 5000
# 建立连接所用的时间,适用于网络正常的情况下,两端连接所用的时间
ConnectTimeout: 5000
配置OpenFeign的日志级别:
1:新建config配置文件
package com.dw.springcloud.config;
import feign.Logger;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class FeignConfig {
@Bean
public Logger.Level feignLoggerLevel(){
return Logger.Level.FULL;
}
}
2:修改yml:
server:
port: 80
eureka:
client:
register-with-eureka: true
service-url:
defaultZone: defaultZone:http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka
spring:
application:
name: feign-customer-order
# 设置feign客户端超时时间(openFeign默认支持Ribbon)
ribbon:
# 建立连接后从服务器读取到可用资源的时间
ReadTimeout: 50000
# 建立连接所用的时间,适用于网络正常的情况下,两端连接所用的时间
ConnectTimeout: 50000
logging:
level:
# feign以什么级别监控哪个接口
com.dw.springcloud.service.PaymentFeignService: debug