![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Springcloud
文章平均质量分 73
boot应用和cloud各个组件文章
WannaRunning
这个作者很懒,什么都没留下…
展开
-
Hystrix与ribbon的超时时间配置
当使用ribbon或Feign进行远程调用时往往需要与Hystrix熔断配合使用,对于调用的熔断时机不同的配置有不同的效果ribbon: OkToRetryOnAllOperations: false #对所有操作请求都进行重试,默认false ReadTimeout: 10000 #负载均衡超时时间 ConnectTimeout: 2000 #ribbon请求服务的超时时间,除非服务找不到,或者网络原因,这个时间才会生效 MaxAutoRetries: 0 #对当前实例.原创 2021-03-07 22:47:06 · 251 阅读 · 0 评论 -
Spring Cloud——分布式链路追踪Sleuth&zipkin
介绍下常见的几种链路追踪方案Zipkin是Twitter开源的调用链分析工具,目前基于springcloud sleuth得到了广泛的使用,特点是轻量,使用部署简单。Pinpoint开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能强大,接入端无代码侵入。SkyWalking是开源的基于字节码注入的调用链分析,以及应用监控分析工具。特点是支持多种插件,UI功能较强,接入端无代码侵入。目前已加入Apache孵化器。CAT是大众点评开源的基于编码和配置的调用链原创 2020-11-05 16:45:47 · 213 阅读 · 0 评论 -
Feign整合Sentinel实现熔断降级处理
之前写了Sentinel限流的简单实用https://blog.csdn.net/qq_29569183/article/details/108438171除此之外Sentinel还可以整合Feign进行熔断处理。特别是Hystrix宣布不再维护后,可以轻松的切换成这种方案。整合过程与Hystrix类似加入alibaba-Sentinel依赖 <dependency> <groupId>com.alibaba.cloud</groupId> .原创 2020-10-29 16:39:53 · 2663 阅读 · 4 评论 -
Spring Cloud Gateway——默认的过滤器使用
之前在写过滤器作用范围的时候提过,Spring Cloud Gateway内置了19种强大的过滤器工厂,能够满足很多场景的需求。下面写一下几个常用的过滤器的配置使用方式。1.设置(删除)请求头添加请求头 X-Request-Foo:Bar移除请求头 X-Request-Toospring: cloud: gateway: routes: - id: add_request_header_route uri: http://exam原创 2020-10-08 10:34:54 · 1077 阅读 · 0 评论 -
Spring Cloud Gateway——路由配置(YML配置方式)
通过配置文件配置路由是最简单的配置方式,下面是一组实例:id:唯一路由表示,没有实际作用不重复就好uri:lb://集群中服务名称order:优先级(数字越小越优先匹配)predicates:请求的路径filters:该路由要配置执行的过滤器(写法:- 过滤器名称)这里使用了StripPrefix这个过滤器,对应StripPrefixGatewayFilterFactory这个内置的过滤器工厂类,作用是转发请求前从请求中剥离的路径个数,StripPrefix=0表示不剥离,Stri.原创 2020-09-30 16:32:15 · 82921 阅读 · 6 评论 -
Spring cloud gateway——Filter
全局Filter要实现GlobalFilter接口,这样所有经过网关得请求都会走这个过滤器。@Component@SuppressWarnings("all")@EnableConfigurationProperties(PermitUrlProperties.class)public class AccessFilter implements GlobalFilter, Ordered { // url匹配器 private AntPathMatcher pathMatcher = ne原创 2020-09-30 10:28:23 · 178 阅读 · 0 评论 -
Spring cloud gateway
网关核心功能是路由转发,因此不要有耗时操作在网关上处理,让请求快速转发到后端服务上。早期的cloud中使用的是基于Zuul的网关,但是由于Zuul1.x是阻塞的,后面cloud团队开发了基于Netty的新的网关也就是gateway。在2.x的版本中,Zuul也是基于Netty,也是非阻塞的。另外就是Gateway是基于WebFlux的。Spring Cloud Gateway 的功能特征 基于Spring Framework 5, Project Reactor 和 Spring Boot 2原创 2020-09-17 15:50:46 · 200 阅读 · 0 评论 -
@FeignClient注解 中属性 contextId使用
https://blog.csdn.net/sinat_36454672/article/details/105457670原创 2020-06-12 02:46:03 · 17510 阅读 · 1 评论 -
分布式任务调度框架xxl-Job
使用背景:单体应用中要实现任务调度时很简单,不管是JDK的定时也好还是spring的定时任务也好都可以实现。但是随着服务架构的升级,在集群架构中,一个服务由多个实例,那么这时候就需要一个任务调度框架保证某个定时任务只会在多个实例服务中的一个里得到执行,不会执行多次。那么XXL-JOB通过执行器实现“协同分配式”运行任务,充分发挥集群优势,负载各节点均衡。同解决方案框架quartz底层以“抢占式...原创 2020-04-19 14:48:45 · 1054 阅读 · 0 评论 -
springcloud——zuul
Zuul默认使用的HTTP客户端是Apache HTTPClient,主要功能是路由转发和过滤器。zuul的核心是一系列的filters, 类似于java Servlet框架的Filter,或者AOP。zuul把请求路由到用户处理逻辑的过程中,这些filter参与一些过滤处理,比如Authentication;外围系统或者用户通过网关访问服务,网关通过注册中心找到对应提供服务的客户端(Ribbon...原创 2020-01-31 21:19:56 · 241 阅读 · 0 评论 -
springcloud——config
Config介绍Config用来统一管理多个微服务的配置文件,也就是对所有单个服务的配置文件做统一的管理。config的使用类似于Eureka,它包含Client和Config Server两个部分,Config server就是我们配置的config服务端,该服务对外提供配置文件的存储,以接口的形式将配置文件的内容提供出去,而config的client就可以通过接口获取对应的配置内容。...原创 2020-01-31 15:45:00 · 214 阅读 · 0 评论 -
SpringCloud——Feign的声明式使用和http优化配置
目录实现Feign声明式调用Feign性能优化Feign就是封装了Ribbon,我们可以通过注解的方式来配置,完成对服务提供者的接口绑定,提供声明式服务调用方案实现Feign声明式调用1.新建一个Eureka客户端服务项目,在此基础上加入feign依赖,这个以来包含Ribbon依赖,可以去掉Ribbon依赖<dependency> &l...原创 2019-10-27 21:18:46 · 233 阅读 · 0 评论 -
SpringCloud——Hystrix的使用及整合Feign
熔断机制是应对雪崩效应的一种微服务链路保护机制。在微服务架构中,一个请求需要调用多个服务是非常常见的。当服务之间调用的链路上某个微服务不可用或者响应时间太长时,会导致连锁故障。当失败的调用到一定阈值(缺省是5秒内20次调用失败) 就会启动熔断机制。在 SpringCloud 框架里熔断机制通过Hystrix实现,Hystrix会监控微服务间调用的状况,当失败的调用到一定阈值,Hyst...原创 2019-10-27 19:32:41 · 245 阅读 · 0 评论 -
SpringCloud——Feign调用的实现原理
目录Feign调用的基本流程Feign运行原理InvocationHandler接口FeignInvocationHandler-默认的调用处理器实现类MethodHandler-方法处理器接口SynchronousMethodHandler-MethodHandler 接口默认实现类Client接口Client接口实现类之前文章介绍了cloud中Feign的使用https://blog.csdn.net/qq_29569183/article/details/102..原创 2020-10-30 14:52:10 · 772 阅读 · 0 评论 -
SpringCloud——Feign中Client相关的自动配置实现(http实现方式的优化)
Feign中Client的自动配置从上一篇文章Feign实现原理可以了解到,默认实现的底层Http请求是使用JDK自带的方式实现的。但是性能很低,针对这个地方我们是可以通过简单的配置来实现使用Apache或者OkHttp来替代默认的实现方式从而对feign进行优化,接下来就写一下不同的实现方式是怎么通过自动配置实现的。FeignAutoConfiguration这个类在org.springframework.cloud.openfeign包下。只能配置最原始的FeignClient容器实例...原创 2020-10-30 17:00:36 · 658 阅读 · 0 评论 -
SpringCloud——Feign拦截器使用
如果Feign调用时要使用token或者要加别的Header参数,该如何处理。1.使用@RequestMapping注解中的headers属性配置请求头信息@RequestMapping(value = "/xx", method = RequestMethod.POST) @Headers({"Content-Type: application/json","Accept: application/json"})2.使用Feign拦截器。如需要在请求头里添加Authorizati原创 2020-10-30 17:55:50 · 2144 阅读 · 0 评论 -
SpringCloud——Ribbon
1.使用Ribbon实现负载均衡的两种方法1.使用RibbonLoadBalancerClient获取一个服务实例@Autowiredprivate RibbonLoadBalancerClient client;ServiceInstance instance=client.choose("EUREKA-CLIENT1");String url="http://"+instanc...原创 2019-10-23 22:48:38 · 123 阅读 · 0 评论 -
浅谈Ribbon负载均衡的实现
Ribbon负载均衡Ribbon 实现的是 客户端负载均衡,从注册中心获得服务信息并缓存在本地,在本地进行 负载均衡。IRule接口Ribbon种提供了IRule接口,通过这个接口可以定义负载均衡规则。Ribbon 提供的几种负载均衡算法默认情况下使用ZoneAvoidanceRule + RoundRobinRule,即区域回避过滤后使用轮询算法进行负载均衡调用。RoundRobinRule:轮询,按照服务列表顺序 循环选择服务。 RandomRule:随机,随机的从服务..原创 2021-04-07 14:01:25 · 253 阅读 · 0 评论 -
SpringCloud——Eureka
Eureka client启动后会以默认30秒的周期想Eureka server发送心跳;而Eureka Server默认在3个周期内也就是90秒没有收到client的心跳,就会把该client从注册中心移除。快速搭建一个注册中心(Eureka服务端):1.创建SpringBoot项目,引入Eureka-server和springCloud依赖<parent> ...原创 2019-10-23 22:06:59 · 263 阅读 · 0 评论