
Spring Cloud 负载均衡ribbon
hashcon
做自媒体技术分享很久了,大家的抬爱与支持让我很开心很感激,但是个人本来做这些也并不是为了收益,只是为了个人学习与传播知识帮助更多的人,所以我将全网所有账号全部收益,持续捐给各种公益项目,也算不辜负大家的抬爱,也是回报祖国对我的一番培养。
曾任职于顺丰,华为,网易等公司,从Java小白,成长为资深开发与项目组首席架构师。喜欢源码与开源,曾贡献 MyCat1.6 核心源码,贡献过druid,Spring Cloud,dubbox,Apache RocketMQ,Apache Bookeeper 等多开源项目。
展开
-
Ribbon对于SocketTimeOutException重试的坑以及重试代码解析
背景本文基于Spring-Cloud, Daltson SR4微服务一般多实例部署,在发布的时候,我们要做到无感知发布;微服务调用总会通过Ribbon,同时里面会实现一些重试的机制,相关配置是:#最多重试多少台服务器ribbon.MaxAutoRetriesNextServer=2#每台服务器最多重试次数,但是首次调用不包括在内ribbon.MaxAutoRetries=1在发布时,为了适应E原创 2017-12-26 21:00:47 · 26128 阅读 · 18 评论 -
Spring Cloud Ribbon 全解 (8) - SpringCloud环境下Ribbon+Eureka配置
本文基于SpringCloud-Dalston.SR5一般SpringCloud环境下是Ribbon+Eureka一起使用的:SpringCloud环境下Ribbon+Eureka配置示例项目实例项目地址:https://github.com/HashZhang/ScanfoldAll/tree/master/Scanfold-SpringCloud/Scanfold-Sp...原创 2018-05-16 11:05:24 · 25265 阅读 · 0 评论 -
Spring Cloud Ribbon 全解 (7) - SpringCloud环境下纯Ribbon(不包含Eureka)重试配置
本文基于SpringCloud-Dalston.SR5前面已经分析了Ribbon各个组件详细的源码,以及整体的流程SpringCloud环境下纯Ribbon(不包含Eureka)使用与启动分析:示例项目以下项目可以参考:https://github.com/HashZhang/ScanfoldAll/tree/master/Scanfold-SpringCloud/Scan...原创 2018-05-16 11:03:08 · 7759 阅读 · 3 评论 -
Spring Cloud Ribbon 全解 (6) - SpringCloud环境下纯Ribbon(不包含Eureka)使用与启动分析
本文基于SpringCloud-Dalston.SR5前面已经分析了Ribbon各个组件详细的源码,以及整体的流程SpringCloud环境下纯Ribbon(不包含Eureka)使用与启动分析:示例项目以下项目可以参考:https://github.com/HashZhang/ScanfoldAll/tree/master/Scanfold-SpringCloud/Scan...原创 2018-05-16 11:01:48 · 21877 阅读 · 1 评论 -
Spring Cloud Ribbon 全解 (5) - 基本组件实现源码(3)
本文基于SpringCloud-Dalston.SR5我们继续分析如下组件:所有Ribbon负载均衡器需要实现的接口IClient服务实例列表维护机制实现的接口ServerList负载均衡数据记录LoadBalancerStats负责选取Server的接口ILoadBalancer负载均衡选取规则实现的接口IRule检查实例是否存活实现的接口IPing服务实例列表更新机制实现...原创 2018-05-08 08:36:34 · 19104 阅读 · 0 评论 -
Spring Cloud Ribbon 全解 (4) - 基本组件实现源码(2)
本文基于SpringCloud-Dalston.SR5我们继续逐个分析所有Ribbon负载均衡器需要实现的接口IClient服务实例列表维护机制实现的接口ServerList负载均衡数据记录LoadBalancerStats负责选取Server的接口ILoadBalancer负载均衡选取规则实现的接口IRule检查实例是否存活实现的接口IPing服务实例列表更新机制实现的接口...原创 2018-05-08 08:34:32 · 18123 阅读 · 0 评论 -
Spring Cloud Ribbon 全解 (3) - 基本组件实现源码(1)
本文基于SpringCloud-Dalston.SR5上一篇我们了解到Ribbon主要由如下几个组件组成:所有Ribbon负载均衡器需要实现的接口IClient服务实例列表维护机制实现的接口ServerList负载均衡数据记录LoadBalancerStats负责选取Server的接口ILoadBalancer负载均衡选取规则实现的接口IRule检查实例是否存活实现的接口IPi...原创 2018-03-27 19:14:43 · 18821 阅读 · 4 评论 -
Spring Cloud Ribbon 全解 (2) - 基本组件简介
本文基于SpringCloud-Dalston.SR5对于一个负载均衡器,就是以用户请求为输入,请求响应为输出的代理模块。 这个模块基本上就是包括一个服务实例列表,根据请求还有负载均衡规则选择一个合适的实例来执行请求并返回响应。 这个服务实例列表,一般包含每个实例基本信息,然后还有,这个实例相关的负载均衡统计信息(例如请求失败多少次,有多少正在处理的请求等等,用于实例过滤和负载均衡...原创 2018-03-27 11:53:12 · 15012 阅读 · 0 评论 -
Spring Cloud Ribbon 全解 (1) - 总览篇
本文基于SpringCloud-Dalston.SR5Ribbon是一个客户端负载均衡解决方案,简单来说,就是从Eureka获取可用服务实例列表,然后将请求根据某种策略发到这些实例上面执行What is Spring Cloud Netflix?其官方文档中对自己的定义是: Spring Cloud Netflix provides Netflix OSS integrat...原创 2018-03-05 18:11:25 · 28033 阅读 · 0 评论 -
Ribbon的AvailabilityFilteringRule的坑(Spring Cloud Finchley.SR2)
如题,本文基于Spring Cloud Finchley.SR2我们项目配置了AvailabilityFilteringRule作为所有Ribbon调用的负载均衡规则,它有那些坑呢(理解歧义和注意点)?首先来看源码,核心是choose方法:public Server choose(Object key) { int count = 0; //通过轮询选择一个server...原创 2019-04-24 12:04:12 · 20916 阅读 · 2 评论