
spring-cloud
spring-cloud技术栈的使用
帅到被人砍啊
发表的文章都是个人的小总结未必全对如果有疑问请大虾们多多指教啊
展开
-
使用RestTemplate 提示 Unexpected end of file from server
今天在使用resttemplate进行远程调用的时候,报了个错误:2021-04-12 15:20:08.429 ERROR 7488 --- [nio-6001-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; ne原创 2021-04-12 15:31:37 · 5341 阅读 · 0 评论 -
Sentinel限流 之 业务应用层使用
https://blog.youkuaiyun.com/sdmanooo/article/details/115528230 这篇文章介绍了Sentinel在网关filter的应用,这一篇介绍在应用层使用@SentinelResource注解实现限流及降级的方法。当然应用层也可以建Filter来实现,这里不介绍了。直接上代码:1、如果使用@SentinelResource 注解,还需要引入sentinel-annotation-aspectj依赖。所以需要引入的依赖: <depe.原创 2021-04-08 19:05:55 · 282 阅读 · 0 评论 -
Sentinel限流 之 zuul网关层应用
之前https://blog.youkuaiyun.com/sdmanooo/article/details/115522607这篇文章讲了zuul网关使用guava的RateLimiter令牌桶实现限流。其实alibaba提供了sentinel组件,也可以支持限流、降级、熔断保护等。其官网使用说明:https://github.com/alibaba/Sentinel/wiki/%E6%B5%81%E9%87%8F%E6%8E%A7%E5%88%B6这里简单的介绍下在网关上的使用,代码上要比guava的令..原创 2021-04-08 18:53:28 · 344 阅读 · 0 评论 -
Zuul网关之限流实现
网关限流比较简单的方式就是在pre的filter中使用令牌桶,因为是限流,所以过滤器排序要靠前,使用方法谷歌guava的RateLimiter组件,代码实现:import com.google.common.util.concurrent.RateLimiter;import com.netflix.zuul.ZuulFilter;import com.netflix.zuul.context.RequestContext;import com.netflix.zuul.exception.Zu原创 2021-04-08 16:02:38 · 861 阅读 · 0 评论 -
zuul routes的配置规则介绍 补充
在https://blog.youkuaiyun.com/sdmanooo/article/details/115490907这篇文章中已经介绍了routes里面RibbonRoutingFilter和SimpleHostRoutingFilter的配置使用。1、RibbonRoutingFilter核心的配置点是serviceIdyaml设置:zuul: routes: provider2: path: /mysuibian/** serviceId: servic.原创 2021-04-08 15:29:26 · 1175 阅读 · 0 评论 -
zuul routes的配置规则介绍
Zuul最核心的类就是ZuulServlet。使用springcloud的zuul网关,配置routes的规则时,对于routes类型的系统filter有三种:RibbonRoutingFilter、SimpleHostRoutingFilter、SendForwardFilter。对于使用yaml配置zuul的routes规则介绍,直接看配置文件及注释:zuul: ##敏感头配置为空之后,所有head内容透传给后端服务,即后端服务也可以获取到请求头信息,一般不配置,因为网关就把头部信息的逻辑原创 2021-04-07 18:58:25 · 4363 阅读 · 1 评论 -
Ribbon灰度方案之应用之间灰度实现二
https://blog.youkuaiyun.com/sdmanooo/article/details/115480381这篇文章讲的是通过eureka-client自带的ribbon,编写自定义的负载均衡策略规则rule来实现灰度。本文介绍直接使用ribbon插件来实现应用之间的灰度调用。方法跟网关的使用基本一样。使用起来也比较简单。但是有一点需要注意的是,这个ribbon插件支持的springcloud的版本不能高于2.4.0。前置环境参考https://blog.youkuaiyun.com/sdmanooo/a.原创 2021-04-07 11:28:18 · 332 阅读 · 0 评论 -
Ribbon灰度方案之应用之间灰度实现一
后台应用之间相互调用,一般就是用Feign或者RestTemplate进行实现。这里以RestTemplate为例描述。环境准备:之前在Zuul网关灰度一文中介绍了。此处还是两个eureka服务端(eureka-server),两个相同的后端服务(service-sms),一个额外的后端服务(api,用来调用service-sms服务)主要描述api服务的实现。灰度实现有两种方案,一种是运用eureka-client自带的ribbon编写自定义的灰度规则来实现。自定义灰度规则需要继承Abstrac.原创 2021-04-07 11:09:05 · 753 阅读 · 1 评论 -
Netflix-Ribbon灰度方案之Zuul网关灰度
Eureka默认集成了Ribbon,所以Ribbon的灰度实现原理就是借助服务注册到Eureka中的eureka.instance.metadata-map的内容来进行匹配的。Zuul网关的灰度实现也是借助了一个Ribbon的插件来实现,相对比较简单。项目环境说明:有两个eureka的服务端(eureka-server),有两个相同的后端服务(service-sms),有一个网关服务(cloud-zuul)。重点描述下网关服务的代码,其他服务有兴趣的可以去coding下载(https://kev原创 2021-04-07 10:41:36 · 320 阅读 · 1 评论