SpringCloud入门之Feign

声明式服务调用,写出一个公共的项目提供项目的实体和接口,该项目中的接口是为服务提供者和服务消费者之间提供一套标准,该标准能够直接限制服务的提供和消费。

Feigh整合Ribbon和Hystrix 提供负载均衡和断路器,可以进行Ribbon和Hystrix 配置

禁用Hystrix
全局禁用:feign.hystrix.enabled=false
局部禁用:
@Bean
@Scope(“prototype”)
public Feign.Builder feignBuider(){
return Feign.builder();
}
在服务调用声明的时候,加入configuration=配置类的.class
Feign的熔断机制应该是实现公共的接口,在@FeignClient 加入参数 fallback = 回调类.class
Feign 对请求体的压缩,feign.compression.request.enabled=true feign.compression.response.enabled=true
feign.compression.request.min-types=text/xml,application/xml,application/json
feign.compression.request.min-request-size=true
login.level.com.didispace.web.HelloService = DEBUG

配置中加入
@Bean
Logger.Level feignLoggerLevel(){
return Logger.Level.FULL;
}

NONE 不记录任何信息
BASIC 记录请求URI 返回状态码 响应头的信息
FULL 记录所有的信息
HEADERS 除了BASIC之外的信息,还是会记录请求和响应头的信息

API网关Springcloud 的 zuul
使用EnableZuulProxy 开始API的网关服务
传统路由:
单实例:zuul.routes..path = ‘’
zuul.routes..url = ‘’
zuul:
routes:
wap:
path: /wap/**
url: http://192.168.1.10:8081

多实例:zuul.routes..path = ‘’
zuul.routes..serviceId = ‘’
ribbon.eureka.enabled = false
.ribbon.listOfServices = http://localhost:8088/,http://localhost:8555/
zuul:
routes:
wap:
path: /wap/**
serviceId: wap
ribbon:
eureka:
enabled: false
wap:
ribbon:
listOfServers: http://192.168.1.10:8081, http://192.168.1.11:8081

forward:
zuul:
routes:
wap:
path: /wap/**
url: forward:/wap

面向服务的配置:
zuul.routes..path = ‘’
zuul.routes..serviceId = ‘’

简化的配置:zuul.routes.serviceId = path
zuul整合client-eureka 就可以将注册中心的服务自动加上路由前缀,默认的规则就是将服务名加入请求地址的前面
在使用时如果存在不想对外开放的地址,zuul.ignore-service = ‘’;则不会创建路由地址

	serviceId映射
	zuul:
		routes:
			activity: /activity/**
	zuul:
		routes:
			activity:
				path: /activity/** # 指定
				serviceId: micro-activity # 指定路由的serviceId
				stripPrefix: false

   userService-v1 对应 /v1/userService/** 的路由规则
   @Bean
   public PatternServiceRouteMapper serviceRouteMapper(){
   		return PatternServiceRouteMapper(
   			"(?<name>^.+)-(?<version>v.+$)",
   			"${version}/${name}"
   		);

   }
   无论是何种配置方式都是需要定义匹配方式,zuul中的配置采用Ant风格。
   ? 配任意单个字符
   *  任意数量的字符
   ** 配任意数量的字符,可以匹配多级目录

猜你喜欢

转载自blog.csdn.net/qq_36755772/article/details/88954380