负载均衡之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