“Ribbon 简介”的版本间的差异
跳到导航
跳到搜索
Jihongchang(讨论 | 贡献) |
Jihongchang(讨论 | 贡献) |
||
第5行: | 第5行: | ||
Spring Cloud 中 Ribbon 就是基于 Netflix 公司的 Ribbon 实现的。它不需要单独部署,但是却存在于整个微服务中。前面学习的 Eureka 里面有 Ribbon,后面学习的 OpenFeign 也是基于 Ribbon 实现的。 | Spring Cloud 中 Ribbon 就是基于 Netflix 公司的 Ribbon 实现的。它不需要单独部署,但是却存在于整个微服务中。前面学习的 Eureka 里面有 Ribbon,后面学习的 OpenFeign 也是基于 Ribbon 实现的。 | ||
+ | |||
+ | |||
+ | === Ribbon 原理 === | ||
+ | 内部基于 ILoadBalancer 实现(代码层面)。 | ||
+ | |||
+ | === 使用 Ribbon 工作原理: === | ||
+ | 所有的项目都会注册到 Eureka 中,Eureka 允许不同项目的 spring.application.name 相同。 | ||
+ | |||
+ | 当相同时会认为这些项目是一个集群。 | ||
+ | |||
+ | 所以同一个项目部署多次时都是设置应用程序名相同。 | ||
+ | |||
+ | Application Client 会从 Eureka 中根据 spring.application.name 加载 Application Service 的列表。 | ||
+ | |||
+ | 根据设定的负载均衡算法,从列表中取出一个 URL,到此 Ribbon 的事情结束了。 | ||
+ | |||
+ | 剩下的事情由程序员自己进行技术选型,选择一个 HTTP 协议工具,通过这个 URL 调用 Application Service。 |
2023年3月22日 (三) 12:00的版本
https://www.bilibili.com/video/BV1AN411Z7mx/?p=2
Ribbon 介绍
Ribbon 是由 Netflix 公司推出的开源软件,是基于 HTTP 和 TCP 协议的,其主要功能是实现客户端软件的负载均衡算法。
Spring Cloud 中 Ribbon 就是基于 Netflix 公司的 Ribbon 实现的。它不需要单独部署,但是却存在于整个微服务中。前面学习的 Eureka 里面有 Ribbon,后面学习的 OpenFeign 也是基于 Ribbon 实现的。
Ribbon 原理
内部基于 ILoadBalancer 实现(代码层面)。
使用 Ribbon 工作原理:
所有的项目都会注册到 Eureka 中,Eureka 允许不同项目的 spring.application.name 相同。
当相同时会认为这些项目是一个集群。
所以同一个项目部署多次时都是设置应用程序名相同。
Application Client 会从 Eureka 中根据 spring.application.name 加载 Application Service 的列表。
根据设定的负载均衡算法,从列表中取出一个 URL,到此 Ribbon 的事情结束了。
剩下的事情由程序员自己进行技术选型,选择一个 HTTP 协议工具,通过这个 URL 调用 Application Service。