![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring Cloud
文章平均质量分 79
石广林谈技术
这个作者很懒,什么都没留下…
展开
-
Spring Cloud Loadbalancer (三) 如何实现 ReactorLoadBalancer
RestTemplate 负载均衡最终是委托给了 LoadBalancerClient 去执行的,而 LoadBalancerClient 的负载均衡策略,则是交给了 ReactorLoadBalancer,是由 LoadBalancerClientConfiguration 进行配置的。本文只展示了 ServiceInstanceListSupplier 的基本逻辑,实际上 ServiceInstanceListSupplier 提供了多种场景的使用方法,可以参考。原创 2023-01-02 20:06:31 · 1271 阅读 · 0 评论 -
Spring Cloud Loadbalancer (二) 如何实现LoadBalancerClient
RestTemplate 负载均衡最终是委托给了 LoadBalancerClient 去实现,核心逻辑是依靠 serviceId 去获取 ServiceInstance。为了达到灵活配置的作用,引入了 NamedContextFactory,为每个 serviceId 分配了一个子容器,每个子容器都拥有 ReactorLoadBalancer 的实现。ReactorLoadBalancer 才是真正实现负载均衡策略的地方。原创 2023-01-02 20:05:10 · 3372 阅读 · 3 评论 -
Spring Cloud Loadbalancer (一) 如何对 RestTemplate 进行客户端负载均衡
RestTemplate 的负载均衡是通过 ClientHttpRequestInterceptor 去实现的,本质上委托给了 LoadBalancerClient 去重写了 HttpRequest 的 getURI 方法,从而达到将 serviceId 替换成实际 host 的目的。至于 LoadBalancerClient 的具体实现, spring-cloud-commons 模块没有提供,而是由另一个模块 spring-cloud-loadbalancer 来实现原创 2022-12-29 22:00:00 · 842 阅读 · 0 评论 -
RestTemplate 的拦截器 ClientHttpRequestInterceptor
这篇文章是 Spring Cloud Loadbalancer 模块学习的前置文章。因为 Spring Cloud loadbalancer 是通过 ClientHttpRequestInterceptor 对 RestTemplate 进行负载均衡的。因此需要对 ClientHttpRequestInterceptor 有所了解。原创 2022-12-08 21:40:21 · 5740 阅读 · 0 评论 -
Spring Cloud 的服务发现和注册的接口
Spring Cloud 将服务注册和发现高度抽象为了3个接口:DiscoveryClient,ServiceRegistry 和 ServiceInstance,其中 ServiceInstance 代表提供服务的实例的信息,而 DiscoveryClient,ServiceRegistry 代表服务发现行为和服务注册行为。其中 DiscoveryClient 和 ServiceInstance 的使用范围更加广泛。原创 2022-12-08 21:45:00 · 655 阅读 · 0 评论 -
云原生(Cloud Native) 与Spring Cloud
云原生(Cloud Native) 是一种编程风格,符合云原生的应用,可以充分利用、发挥云平台的弹性与分布式优势。其特征跟随着技术的不断发展有所变化,目前认为,其特征包括:DevOps+持续交付+微服务+容器。为了能够让JAVA应用云原生化,Pivotal 在2015年开源了 Spring Cloud 。这不是一个新的框架,而是一些依赖或者服务。比如注册中心,配置中心,API网关等,可以认为是一些基础设施,通过这些服务,可以让JAVA适应现代的编程方式,并能利用云平台达到分布式部署,快速扩容或者缩容的目的,原创 2022-12-02 19:49:10 · 873 阅读 · 0 评论