你好Ribbon!
文章平均质量分 91
深入剖析Ribbon源码,SpringCloud与Ribbon整合源码,逐个击破Ribbon各个组件,揭开它的最后一层遮羞布,让Ribbon从此在你的面前裸奔!
JAVA,你好!
毕业于郑州大学,工作经验7年
展开
-
【你好Ribbon】十五:Ribbon具有区域识别能力的负载均衡器-ZoneAwareLoadBalancer
目录前言前言上一节我们介绍了Ribbon的一个功能很强大的负载均衡器集成了Ribbon的五大组件的能力,其实有了它基本就能满足我们平时的需求了。但是Netflix开发人员继续发扬精益求精的代码精神 又默默为我们奉献了一个更高级的负载均衡器ZoneAwareLoadBalancer。从名字可以看出是一个具备区域意识的负载均衡器。什么意思?例如当前客户端在A区域 请求的服务列表中维护A区域和B区域两个区域的服务器。如果按照我们前面讲的DynamicServerListLoadBalancer负载均衡器 它会原创 2021-01-18 11:42:38 · 765 阅读 · 0 评论 -
【你好Ribbon】十四:Ribbon具有动态的服务列表能力的负载均衡器-DynamicServerListLoadBalancer
目录前言前言上一篇文章探讨了最基础的负载均衡器BaseLoadBalancer,该负载均衡器提供了最基础的负载能力拥有IPing、IRule原创 2021-01-16 21:30:00 · 3169 阅读 · 0 评论 -
【你好Ribbon】十三:Ribbon负载均衡器接口ILoadBalancer-最基础的负载均衡器BaseLoadBalancer
目录前言ILoadBalancer接口核心方法继承关系BaseLoadBalancer重要的成员变量initWithConfigIPingIRuleaddServersdemo结语前言前面我们对Ribbon负载均衡模块的五大组件进行了简单的概述,但大部分情况这五个组件相互配合工作才能实现负载均衡的能力,而今天我们说的ILoadBalancer说白了就是对这些组件组合的一个容器。ILoadBalancer接口核心方法该接口可以说是Ribbon负载均衡器最核心的一个接口,提供了对服务器操作的一组方法。原创 2021-01-05 14:32:14 · 785 阅读 · 0 评论 -
【你好Ribbon】十二:Ribbon负载均衡五大组件之服务列表更新器-ServerListUpdater
目录前言ServerListUpdater继承关系ServerListUpdater接口方法介绍PollingServerListUpdater单例线程池的创建成员属性start方法总结前言我们知道Ribbon的负载均衡功能 最主要的功能就是对服务器列表的维护,我们前面也说到 ServerList 用来提供一个服务器的列表、ServerListFilter 用来过滤服务列表,今天我们再来看一个更服务列表有关的组件 ServerListUpdaterServerListUpdater继承关系Serv原创 2021-01-03 17:42:24 · 1719 阅读 · 4 评论 -
【你好Ribbon】十一:Ribbon负载均衡服务选取规则组件IRule-客户端可配置规则ClientConfigEnabledRoundRobinRule
每日一句伟人所达到并保持着的高处,并不是一飞就到的,而是他们在同伴们都睡着的时候,一步步艰辛地向上攀爬的目录前言ClientConfigEnabledRoundRobinRuleBestAvailableRulePredicateBasedRuleAbstractServerPredicate前言上一篇我们介绍了IRule的比较简单的线性轮询的规则,本文继续来探讨其他的规则实现。ClientConfigEnabledRoundRobinRule和他的子类们。ClientConfigEnable原创 2020-12-27 21:31:49 · 690 阅读 · 1 评论 -
【你好Ribbon】十:Ribbon负载均衡选取规则策略组件IRule-线性轮询策略
每日一句反正我不会白白付出,很简单我付出就是为了得到。目录前言继承结构IRule接口AbstractLoadBalancerRule 绑定负载均衡器RoundRobinRuleRetryRuleWeightedResponseTimeRule前言前面文章我们对Ribbon的ServerList和ServerListFilter做了一个介绍。从今天开始我们会来说道说道Ribbon的另一个非常重要的组件IRule。IRule对于使用过Ribbon的同学可谓是如雷贯耳。它的重要性对于Ribbon不言而原创 2020-12-09 11:20:00 · 504 阅读 · 0 评论 -
【你好Ribbon】九:Ribbon负载均衡组件服务列表过滤器-ServerListFilter
ServerListFilter该接口用来过滤已配置或动态获取的服务器列表。继承关系AbstractServerListFilter规定了从负载均衡器LoadBalancer的服务器列表里面筛选出可用的ServerZoneAffinityServerListFilter借助于ZoneAffinityPredicate来过滤出和zone相关的服务器ServerListSubsetFilter 它将负载均衡器使用的服务器数量限制为所有服务器的子集。ZonePreferenceServerList原创 2020-11-30 10:28:35 · 369 阅读 · 0 评论 -
【你好Ribbon】八:Ribbon负载均衡服务器指标管理器 (三)LoadBalancerStats
每日一句办天下大事,贵实心,尤贵虚心。非真知灼见不能办事,亦不能论事,贵耳贱目,最足误事。目录前言使用源码分析updateZoneServerMapping&updateServerListLoadBalancerStats属性getZoneSnapshot总结前言今天我们介绍服务器指标管理的另一个类:负载均衡器统计 LoadBalancerStats。既然是负载均衡器统计 那么肯定是对一群服务器指标的管理,直接供后续的一些组件使用。使用先看怎么用 然后再看别人如何实现的。 //创原创 2020-11-27 16:55:42 · 658 阅读 · 0 评论 -
【你好Ribbon】七:Ribbon负载均衡服务器指标管理器 (二)ServerStats
每日一句任何事情,你想做就有方法,不想做就有借口,你有选择的自由,也有承担后果的义务。不要明天再努力,只有努力过完今天的人才有明天!目录前言一个Demo源码构造方法initialize方法ServerStat 属性getActiveRequestsCount 获取活跃的请求数getCircuitBreakerBlackoutPeriod 获取中断的时间值前言上篇文章简单的聊了一下netflix的多维度统计指标的模块netflix-statistics,当然这个功能是属于netflix-commo原创 2020-11-25 22:52:20 · 406 阅读 · 0 评论 -
【你好Ribbon】六:Ribbon负载均衡服务器指标管理器 (一)netflix-statistics
每日一句不要因为怕被玫瑰的刺伤到你,就不敢去摘玫瑰。目录前言netflix-statistics继承关系DataCollectorDistributionDataBufferHistogramDataAccumulatorDataDistributionDataPublisher前言上一节我们知道了Ribbon是通过ServerList来管理获取服务器列表的方式。虽然现在没有说到Ribbon负载均衡器是如何工作的,但是大致应该是 获取服务列表 过滤服务列表 根据负载策略选择具体的服务器。那么如原创 2020-11-24 22:22:16 · 487 阅读 · 0 评论 -
【你好Ribbon】五:Ribbon负载均衡组件服务列表-ServerList
每日一句努力和收获,都是自己的,与他人无关。最大的成就感,就是一直在朝着自己想要的方向前进目录ServerList继承关系AbstractServerListConfigurationBasedServerListStaticServerListDiscoveryEnabledNiWSServerList从这篇文章开始进入Ribbon的负载均衡模块的介绍。提到客户端负载 那么对服务列表的获取以及维护是一块很重要的内容,因为这是基础 负载策略是建立在服务列表的基础上。服务列表我们可以通过配置文件配原创 2020-11-22 17:32:49 · 1390 阅读 · 1 评论 -
【你好Ribbon】四:Ribbon核心包-IClientConfig源码分析篇
每日一句没有礁石,就没有美丽的浪花;没有挫折,就没有壮丽的人生目录属性加载获取属性设置属性我们接着上一篇继续聊,上一篇讲的是应用 这一篇我们讲原理 讲如何实现。在阅读本文之前 希望你已对Archaius有所了解属性加载 IClientConfig coredy1 = DefaultClientConfigImpl.getClientConfigWithDefaultValues("coredy1"); IClientConfig coredy = DefaultClientConfi原创 2020-11-16 19:38:20 · 348 阅读 · 0 评论 -
【你好Ribbon】三:ribbon核心包-IClientConfig介绍使用篇
待续原创 2020-11-16 19:16:30 · 1098 阅读 · 0 评论 -
【你好Ribbon】二:Ribbon初识-让你感受它的美
每日一句:编写 Java 开发包都是一群神人,拿 Java 源码来分析问题,我们无疑站在了巨人的肩膀上。所谓站得高,尿的远也。当然,所谓偷拍都是避免不了的目录写在前面的话演示版本Ribbon初体验结束语写在前面的话经过了上节的介绍我们对Ribbon有了一个整体的认识,最起码知道了它是干什么用的 在微服务中扮演什么角色。这一点至关重要,因为我们知道它是做客户端负载的 肯定就会去想 它是怎么做负载的? 例如你会问 它是怎么选择服务器的?怎么动态更新服务列表的?怎么做重试策略的?等等!好了 从今天开始原创 2020-11-16 19:15:21 · 389 阅读 · 0 评论 -
【你好Ribbon】一:SpringCloud微服务的客户端负载均衡利器
目录序言负载均衡客户端负载均衡新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入序言欢迎大家来到“你好JAVA”系列课程,我是作者coredy。从本系列课程开始我们进入Netflix-Ribbon的学习。考虑到文章篇幅太原创 2020-11-16 19:14:02 · 404 阅读 · 0 评论