负载均衡之Ribbon与LoadBalance

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了负载均衡之Ribbon与LoadBalance相关的知识,希望对你有一定的参考价值。

参考技术A Spring Cloud Ribbon 是 Netflix Ribbon 实现的一套客户端 负载均衡工具

Ribbon 是 Netflix 发布的开源项目,主要功能是提供 客户端的复杂均衡算法和服务调用。

Ribbon 客户端组件提供一系列完善的配置项如超时、重试等。

Ribbon 会自动的帮助你基于某种规则(如简单轮询,随机链接等)去链接这些机器。

    Nginx 是服务器负载均衡,客户端所有请求都会交给nginx, 然后 nginx 实现转发请求。即负载均衡是由服务端实现的。

    Ribbon 本地负载均衡,在调用微服务接口的时候,会在注册中心上获取注册信息服务列表后缓存到JVM 本地,从而在本地实现RPC远程 服务调用技术。

第一步先选择 Server , 它优先选择在同一个区域呢负载较少的Server

第二步在根据用户执行的策略,在从server 取到的服务注册列表中选择一个地址。

其中 Ribbon 提供了多种策略:比如轮询、随机和根据响应时间加权。

1、集中式

即在服务的消费方和提供方之间使用独立的LB 设施(可以是硬件,如F5, 也可以是软件如 Nginx ), 由该设置负责把访问请求通过某种策略转发至服务的提供方

2、进程内 LB

将 LB 逻辑集成到消费方,消费方从服务注册中心获取有哪些地址可用,然后自己再从这些地址中选择一个适合的服务器。

@LoadBalance + RestTemplate

@LoadBalanced是标记注释,@RibbonClient用于配置目的。

以上是关于负载均衡之Ribbon与LoadBalance的主要内容,如果未能解决你的问题,请参考以下文章

SpringCloud - Spring Cloud Alibaba 之 Nacos,集成Ribbon

spring cloud 之 客户端负载均衡 Ribbon

SpringCloud之负载均衡

Ribbon负载均衡服务调用

Springcloud + nacos + gateway 负载均衡(ribbon)

SpringCloud集成Ribbon