LoadBalancer
14 篇文章
loadbalancer
SpringCloud—LoadBalanced负载均衡
目前从2018年开始SpringCloud中的Netflix项目逐渐进入维护阶段了。很多的组件Spring官方都有相应的组件来代替,阻断式升级(不向下兼容),比如负载均衡器,之前用的Ribbon使用S…
SpringCloud—项目改造为Spring-Cloud-Kubernetes项目
K8S Kubernetes是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,…
SpringSecurity—OAuth 2-Spring Cloud 安全管理
微服务架构 在微服务中,我们一般都会有一个网关,网关背后有很多个微服务,所有的请求都是首先到达网关,再由网关转发到不同的服务上去。另外我们可能会搭建一个统一认证中心,我画一个已经过简化的架构图大家来看…
SpringCloud—GateWay(六)初始化加载流程
核心源码 Route类 Route 是 gateway 中最基本的组件之一,表示一个具体的路由信息载体。路由信息由ID、目标URl、一组断言和一组过滤器组成。如果断言路由为真,则说明请求的URI和配置…
SpringCloud—GateWay(五)熔断、限流、重试
修改请求路径的过滤器 StripPrefix Filter StripPrefix Filter 是一个请求路径截取的功能,我们可以利用这个功能来做特殊业务的转发。 application.yml 配…
SpringCloud—Gateway(四)Filter(过滤器)
Spring Cloud Gateway 的 Filter 的生命周期不像 Zuul 的那么丰富,它只有两个:“pre” 和 “post”。 PRE: 这种过滤器在请求被路由之前调用。我们可利用这种过…
SpringCloud—Gateway(三) Predicate
Predicate 介绍 Predicate 来源于 Java 8,是 Java 8 中引入的一个函数,Predicate 接受一个输入参数,返回一个布尔值结果。该接口包含多种默认方法来将 Predi…
SpringCloud—GateWay(二)服务化
在实际的工作中,服务的相互调用都是依赖于服务中心提供的入口来使用,服务中心往往注册了很多服务,如果每个服务都需要单独配置的话,这将是一份很枯燥的工作。Spring Cloud Gateway 提供了一…
SpringCloud—GateWay(一)
Spring 官方最终还是按捺不住推出了自己的网关组件:Spring Cloud Gateway ,相比之前我们使用的 Zuul(1.x) 它有哪些优势呢?Zuul(1.x) 基于 Servlet,使…
SpringCloud—Zuul(三)
对Zuul的作用应该已经有了一个基本的认识,但是对于路由的配置我们只是做了一个简单的介绍,本文我们就来看看路由配置的其他一些细节。 首先我们来回忆一下上篇文章我们配置路由规则的那两行代码: zuul.…
SpringCloud—Zuul(二)
Zuul除了网关使用模式,以及自动转发机制,但其实Zuul还有更多的应用场景,比如:鉴权、流量转发、请求统计等等,这些功能都可以使用Zuul来实现。 Zuul的核心 Filter是Zuul的核心,用来…
SpringCloud—Zuul(一)
Spring Cloud中的Ribbon、Hystrix、Feign这些知识点大家都耳熟能详了,我们在前文也提到过微服务就是把一个大的项目拆分成很多小的独立模块,然后通过服务治理让这些独立的模块配合工…
SpringCloud—OpenFeign拦截器应用(RequestInterceptor)
使用Spring Cloud时,通常会用 Feign 来调用远程服务,比如远程服务的权限验证,需要在 header 中传递 token之类的。在方法中显示传递又过于麻烦了,这时候就可以考虑使用 Fei…
SpringCloud—OpenFeign(四)配置详解+Hystrix
Ribbon配置 ribbon的配置其实非常简单,直接在application.properties中配置即可,如下: # 设置连接超时时间 ribbon.ConnectTimeout=600 # 设…
SpringCloud—OpenFeign(三)继承特性
上篇我们了解了Feign的基本使用,在HelloService类中声明接口时,我们发现这里的代码可以直接从服务提供者的Controller中复制过来,这些可以复制的代码Spring Cloud Fei…
SpringCloud—OpenFeign(二)参数传递
Feign和普通参数传递的区别: 参数一定要绑定参数名。 如果通过 header 来传递参数,一定记得中文要转码。 测试的服务端接口,继续使用 provider 提供的接口。 1.添加调用接口 这里,…
SpringCloud—OpenFeign(一)声明式服务调用
我们使用Ribbon、RestTemplate、Hystrix组件,这些组件是我们Spring Cloud中非常基础的组件,小伙伴们在使用的过程中可能也发现了这些东西都是同时出现的,而且配置也都非常相…
SpringCloud—Hystrix(六)仪表盘与Turbine集群监控
Hystrix仪表盘,就像汽车的仪表盘实时显示汽车的各项数据一样,Hystrix仪表盘主要用来监控Hystrix的实时运行状态,通过它我们可以看到Hystrix的各项指标信息,从而快速发现系统中存在的…
SpringCloud—Hystrix(五)请求合并
在微服务架构中,我们将一个项目拆分成很多个独立的模块,这些独立的模块通过远程调用来互相配合工作,但是,在高并发情况下,通信次数的增加会导致总的通信时间增加,同时,线程池的资源也是有限的,高并发环境会导…
SpringCloud—Hystrix(四)请求缓存
高并发环境下如果能处理好缓存就可以有效的减小服务器的压力,Java中有许多非常好用的缓存工具,比如Redis、EHCache等,当然在Spring Cloud的Hystrix中也提供了请求缓存的功能,…
SpringCloud—Hystrix(三)服务降级与异常处理
看了自定义Hystrix请求命令的问题,使大家对Hystrix的使用有了进一步的了解,之前都有涉及到一个叫做fallbackMethod的东西,我们之前没有细说这个东西,今天我们就来详细说说这个fal…
SpringCloud—Hystrix(二)自定义请求命令
前面介绍了断路器Hystrix的一个简单使用,主要是通过注解来实现断路器的功能的,不过对于Hystrix的使用,除了注解,我们也可以使用继承类的方式来实现,本文我们就来看看另一种Hystrix的使用方…
SpringCloud—Hystrix(一)(Ribbon)
基本介绍 Hystrix 叫做断路器/熔断器。微服务系统中,整个系统出错的概率非常高,因为在微服务系统中,涉及到的模块太多了,每一个模块出错,都有可能导致整个服务出,当所有模块都稳定运行时,整个服务才…
Feign、Ribbon、Hystrix 三者关系
如果微服务项目加上了spring-cloud-starter-netflix-hystrix依赖,那么,feign会通过代理模式, 自动将所有的方法用 hystrix 进行包装。 在Spring Cl…
SpringCloud—Ribbon(负载均衡器)
Ribbon Ribbon 是 Netflix 开源的基于 HTTP 和 TCP 的客户端负载均衡器框架,目前也已被 S…
SpringCloud—的负载均衡策略
我们大致的了解了一下Spring Cloud中有哪些负载均衡器,但是对于负载均衡策略我们并没有去详细了解,我们只是知道在BaseLoadBalancer的chooseServer方法中,调用了IRul…
SpringCloud—负载均衡器概览
RestTemplate的工作过程,在分析的过程中,我们遇到过一个ILoadBalancer接口,这个接口中有一个chooseServer方法是我们选择服务实例的方法,这个也是整个负载均衡中最最核心的…
SpringCloud—Consul(一)(Ribbon)
我们知道 Eureka 2.X 遇到困难停止开发了,但其实对国内的用户影响甚小,一方面国内大都使用的是 Eureka 1.X 系列,另一方面 Spring Cloud 支持很多服务发现的软件,Eure…
@LoadBalanced注解为何就让RestTemplate拥有负载均衡的能力?(Ribbon)
在Spring Cloud微服务应用体系中,远程调用都应负载均衡。我们在使用RestTemplate作为远程调用客户端的时候,开启负载均衡极其简单:一个@LoadBalanced注解就搞定了。相信使用…
Spring—RestTemplate的使用和原理
再此之前有关于RestTemplate的基本使用以及相关内容: http://www.enmalvi.com/2020/03/28/spring-resttemplate/ http://www.en…