Ribbon是什么?
Ribbon是一组基于NetflixRibbon的客户端负载平衡工具。
简而言之,Ribbon是Netflix发布的一个开源项目。它的主要功能是提供客户端软件负载平衡算法,并将Netflix的中间层服务连接在一起。功能区客户端组件提供了一系列完整的配置项,例如连接超时,重试等。
简而言之,它是在配置文件中列出负载均衡器(简称LB)后面的所有计算机,Ribbon将根据特定规则(例如简单轮询,随机连接等)自动帮助您连接这些计算机。我们还可以轻松地使用Ribbon来实现自定义负载平衡算法。
Ribbon能干什么?
LB,即负载均衡(LoadBalance),在微服务或分布式集群中经常用的一种应用。
负载平衡只是意味着将用户的请求平均分配给多个服务,以实现系统的HA。
常见的负载平衡包括软件Nginx,LVS,硬件F5等。
相应地,在中间件中,例如:dubbo和SpringCloud为我们提供了负载平衡,并且SpringCloud的负载平衡算法可以自定义。
集中式LB:
也就是说,在服务的使用者和提供者之间使用独立的LB工具(硬件,例如F5,或软件,例如nginx),并且该工具负责通过某种策略将访问请求转发给服务提供商。
进程内LB:
将LB逻辑集成到使用者。使用者从服务注册表中知道哪些地址可用,然后从这些地址中选择合适的服务器。
Ribbon属于进程内LB,它只是一个类库,集成在使用者进程中,使用者使用它来获取服务提供者的地址。
推荐阅读:java高级培训:Spring Cloud微服务处理异常机制的差异?
如果你想了解更多关于java架构师的专业知识,可以加入JAVA架构师交流群:1037935907,里面都是同行,有资源分享包括但不限于(分布式架构、高可扩展、高性能、高并 发、Jvm性能调优、Spring,MyBatis,Nginx源码分析,Redis,ActiveMQ、、Mycat、Netty、Kafka、Mysql 、Zookeeper、Tomcat、Docker、Dubbo、Nginx)。欢迎一到五年的工程师加入,合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!