
springcloud
文章平均质量分 70
yingziisme
这个作者很懒,什么都没留下…
展开
-
Ribbon拦截器ClientHttpRequestInterceptor-传递header
Ribbon拦截器ClientHttpRequestInterceptor-传递headerSpring Cloud的微服务在使用RestTemplate调用的时候,header会丢失,这会导致服务间token等一些信息的丢失可以使用ClientHttpRequestInterceptor拦截请求,并将header统一设置进去首先配置一个自定义的ClientHttpRequestInterc...原创 2020-03-19 23:18:55 · 5222 阅读 · 1 评论 -
Feign的拦截器RequestInterceptor
Feign的拦截器RequestInterceptorSpringCloud的微服务使用Feign进行服务间调用的时候可以使用RequestInterceptor统一拦截请求来完成设置header等相关请求,但RequestInterceptor和ClientHttpRequestInterceptor有点不同,它拿不到原本的请求,所以要通过其他方法来获取原本的请求首先创建自定义的Reques...原创 2020-03-18 00:27:11 · 8818 阅读 · 1 评论 -
SpringCloudGateway笔记(11)-异常拦截
使用SpringCloudGateway的全局异常拦截其实这个应该是webflux的全局异常拦截,由于gateway使用的是webflux的底层,不是servlet容器,异常处理需要继承ErrorWebExceptionHandler具体实现如下@Slf4j@Componentpublic class GlobalExceptionHandler implements ErrorWebE...原创 2019-07-10 23:54:39 · 3526 阅读 · 1 评论 -
SpringCloudGateway笔记(10)-websocket
使用SpringCloudGateway的重要功能 – websocket的转发spring-boot的第一代网关zuul不支持websocket的转发,而在实际应用场景中,websocket作为一个常用功能,这大大限制了zuul的使用SpringCloudGateway支持websocket的转发配置websocket的客户端和服务端客户端页面代码<!DOCTYPE html&g...原创 2019-07-12 00:09:31 · 15492 阅读 · 3 评论 -
SpringCloudGateway笔记(9)-限流
使用SpringCloudGateway的重要功能 – 限流过滤器网关的重要功能还有限流SpringCloudGateway提供了一个默认的限流过滤器RequestRateLimiter,默认通过Redis+Lua技术实现高并发和高性能的限流方案,源码参考RedisRateLimiter和META-INF/scripts/request_rate_limiter.lua实际使用需要引用spr...原创 2019-07-09 23:42:14 · 1208 阅读 · 0 评论 -
SpringCloudGateway笔记(8)-权重
使用SpringCloudGateway的重要功能 – 权重路由由于后端的服务器有时候性能不同,或者是由于需要灰度发布,需要上线一部分新版本的服务注:灰度发布是指在黑与白之间,能够平滑过渡的一种发布方式。AB test就是一种灰度发布方式,让一部分用户继续用A,一部分用户开始用B,如果用户对B没有什么反对意见,那么逐步扩大范围,把所有用户都迁移到B上面来。灰度发布可以保证整体系统的稳定,在初始...原创 2019-07-08 23:45:19 · 2436 阅读 · 4 评论 -
SpringCloudGateway笔记(7)-响应不全
实际使用遇到的问题 – 获取ResponseBody不完整和Memory LEAK的问题第一种获取方式,会遇到获取ResponseBody不完整的问题具体的代码如下@Slf4j@Componentpublic class ResponseBodyFilter implements GlobalFilter, Ordered { @Override public Mono&...原创 2019-07-06 01:39:05 · 3631 阅读 · 4 评论 -
SpringCloudGateway笔记(6)-请求体不全
实际使用遇到的问题 – 在filter里面获取RequestBody不完整以及LEAK MEMORY的问题第一种获取方式在网上找到的最常见的一种获取RequestBody的方式是 private String resolveBodyFromRequest(ServerHttpRequest serverHttpRequest){ //获取请求体 Flux...原创 2019-07-05 00:34:11 · 3039 阅读 · 1 评论 -
SpringCloudGateway笔记(4)-WebSession
WebSession以往用zuul作网关的时候,直接使用@EnableRedisHttpSession 在配置里面就可以通过redis共享session信息spring同时提供了EnableRedisWebSession 来对WebFlux的支持session的jar包引入POM <dependency> <groupId>or...原创 2019-07-03 21:59:13 · 16169 阅读 · 3 评论 -
SpringCloudGateway笔记(5)-netty空指针问题
实际使用遇到的问题 – 响应为空的时候抛异常 java.lang.NullPointerException在使用SpringBoot 2.0.0.RELEASE + SpringCloud Finchley.RELEASE 版本开发的时候遇到响应体为空的时候会抛出一个异常java.lang.NullPointerException: null at java.util.concurrent...原创 2019-07-05 00:34:27 · 2144 阅读 · 0 评论 -
SpringCloudGateway笔记(1)-介绍与基础使用
Spring Cloud Gateway 介绍和基础使用简介Spring Cloud Gateway是Spring官方团队推出的网关框架,用于取代Spring Cloud Netflix ZuulSpring Cloud Gateway的特征:基于Spring Framework 5、Project Reactor和Spring Boot 2.0构建能够匹配任何请求属性上的路由。谓词...原创 2019-05-12 23:45:45 · 425 阅读 · 0 评论 -
SpringCloudGateway笔记(3)-Predict与自定义Predict
Predict与自定义PredictPredict(谓词)用于匹配用户的请求,来选择是否要路由Spring Cloud Gateway自带的谓词工程列表Predict说明After Route Predicate请求的时候发生在指定时间之后Before Route Predicate请求发生在指定时间之前Between Route Predicate请求...原创 2019-05-20 20:33:16 · 1798 阅读 · 1 评论 -
SpringCloudGateway笔记(2)-filter与自定义filter
filter与自定义filter过滤器可以在路由请求之前对请求进行处理,也可以在请求响应之后对响应进行处理在请求路由之前可以做比如参数校验,鉴权,日志记录,协议转换,请求参数修改,路径修改等在请求响应之后可以做比如记录响应消息,修改响应,修改响应头等最常见的功能就是鉴权,日志记录,限流和权重路由Filter分为Gateway Filter和Global FilterGateway Fi...原创 2019-05-20 00:50:20 · 4074 阅读 · 1 评论 -
spring-cloud-oauth2升级版本遇到的认证报bad credentials,Encoded password does not look likebcrypt的问题
记录一下今天工作的时候升级一个认证服务遇到的小问题,虽然最后解决只有一行代码,却花了差不多3个小时。初始版本为 springboot 1.5.9.RELEASE springcloud Dalston.SR1升级为 springboot 2.0.3.RELEASE springcloude finchley.RELEASE升级改造完成之后,服务运行正...原创 2018-09-12 01:09:19 · 16833 阅读 · 4 评论