如何解析SpringCloud五大核心组件中的Ribbon

本篇文章为大家展示了如何解析Spring Cloud 五大核心组件中的Ribbon,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

创新互联建站是一家集网站建设,江口企业网站建设,江口品牌网站建设,网站定制,江口网站建设报价,网络营销,网络优化,江口网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

1 . 负载均衡  

 
其实提到负载均衡,大部分人都会想到在我们的服务前置一个nginx,但是这只是实现了服务器端的负载均衡,那么客户端的负载均衡怎么解决呢?  

2.Spring Cloud核心组件: Ribbon  

 
还好Spring Cloud五大核心组件中的Ribbon是专门来解决这个问题的。 我们先来简单介绍一下Ribbon。  

 
Spring Cloud Ribbon是一个基于HTTP和TCP的客户端负载均衡工具,它基于Netflix Ribbon实现。 通过Spring Cloud的封装,可以让我们轻松地将面向服务的REST模版请求自动转换成客户端负载均衡的服务调用。  

 
Spring Cloud Ribbon虽然是一个工具类框架,它不需要独立部署,但是它几乎存在于每一个Spring Cloud构建的微服务和基础设施中。  

 
微服务间的调用,API网关的请求转发等内容,实际上都是通过Ribbon来实现的。同时Ribbon默认为我们提供了很多负载均衡算法,例如轮询、随机等。当然,我们也可为Ribbon实现自定义的负载均衡算法。  

 
3.Ribbon中的几个重要组件  

 
Ribbon由很多组件组成,其中最重要的就是以下6个 :  

 
IRule: 访问微服务列表的规则。    

IPing: 检查微服务是否存活。    

ServerList: 用于获取微服务地址列表。 它既可以是静态的(提供一组固定的地址),也可以是动态的(从注册中心中定期查询地址列表)。    
    
ServerListFilter: 对ServerList服务器列表进行二次过滤。    
   
ServerListUpdater:  定义服务更新策略 。    

 
ILoadBalancer: 软件负载平衡器入口,整合以上所有的组件实现负载功能。    

那么这几个组件之间是如何组合发挥自己的作用呢?  

 
ServerList在默认情况下通过静态配置来维护服务器列表,但是通常情况下都会保持非常多的线程池连接,而ServerListFilter可以对其进行过滤,删除某些不必要的server。  

根据IPing的心跳判断服务是否存活,再ServerListUpdater去更新服务器状态。  

IRule则是判断服务访问的策略,轮询,随机等,以上所有的组件,都将组合到ILoadBalancer这个类中进行工作。    

上述内容就是如何解析Spring Cloud 五大核心组件中的Ribbon,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注创新互联行业资讯频道。


当前标题:如何解析SpringCloud五大核心组件中的Ribbon
地址分享:http://hbruida.cn/article/jcjddg.html