Spring Cloud Ribbon面试题大全

本文详细梳理了SpringCloud Ribbon的相关面试题,包括Ribbon的调用流程、实例选择策略、服务列表获取、避免调用失效实例的方法以及负载均衡策略等核心知识点。通过对Ribbon的工作原理和配置深入理解,能有效提升对SpringCloud微服务架构中客户端负载均衡的掌握。
摘要由CSDN通过智能技术生成

Spring Cloud Ribbon面试题大全


目录

文档索引

面试题汇总

Q:Ribbon的总体流程?

Q:Ribbon如何选择调用哪个实例?

Q:服务列表的获取过程?

Q:Ribbon如何避免调用失效实例?

Q:Ribbon有哪些负载均衡策略?


文档索引


面试题汇总

Q:Ribbon的总体流程?

A: 针对被@LoadBalanced修饰的RestTemplate,给该RestTemplate增加LoadBalancerInterceptor拦截器,从而实现对负载均衡器的调用。负载均衡器通过服务名获取过滤后的服务列表,通过负载均衡算法获取其中某台实例,并进行调用

Q:Ribbon如何选择调用哪个实例?

A: 

1、获取服务列表:为了减少服务的延迟,客户端会通过eureka.instance.metadata-map.zone指定的zone对服务列表进行过滤

2、负载均衡:通过负载均衡策略从服务列表中获得其中一台,默认是RoundRobinRule轮询策略,再对服务端进行调用

Q:服务列表的获取过程?

A: 

1、服务列表默认是基于服务发现的,在应用启动时Ribbon就会从Eureka服务器中获取所有注册服务的列表数据,并保持同步。也可以通过动态设置的方式在配置文件中进行指定

2、通过ServerListFilter对服务器列表进行过滤

ZoneAffinityServerListFilter:基于区域感知的方式,实现对服务实例的过滤,仅返回与本身所处区域一直的服务提供者实例列表;

ServerListSubsetFilter:该过滤器继承自ZoneAffinityServerListFilter,在进行区域感知过滤后,仅返回一个固定大小的服务列表。默认将返回20个服务实例,可以通过ribbon.ServerListSubsetFilter.size进行设置;

ZonePreferenceServerListFilter:使用Eureka和Ribbon时默认的过滤器。实现通过配置或者Eureka所属区域来过滤出同区域的服务实例列表。

Q:Ribbon如何避免调用失效实例?

A: 

1、通过IPing检测实例,如果检测到某服务实例不存在/一定时间未响应,则会从持有服务列表中及时移除

2、保留zone的统计数据,ribbon可以避免可能访问失效的zone(剔除无实例、实例故障率大于阈值)

Q:Ribbon有哪些负载均衡策略?

A: 

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当谈到Spring Cloud面试题时,以下是一些常见的问题和答案: 1. 什么是Spring CloudSpring Cloud是一组用于构建分布式系统的开源工具集。它基于Spring框架,并提供了诸如服务发现、负载均衡、配置管理、熔断器等功能,帮助开发人员快速构建可扩展的分布式应用程序。 2. Spring CloudSpring Boot有什么区别? Spring Boot是用于简化Spring应用程序的开发的框架,而Spring Cloud是构建分布式系统的工具集。Spring Boot提供了快速创建独立的、可执行的Spring应用程序的能力,而Spring Cloud则为这些应用程序提供了分布式系统所需的各种功能。 3. 什么是服务注册和发现? 服务注册和发现是指将应用程序的各个组件(服务)自动注册到一个中心化的注册表中,并且其他服务可以通过查询注册表来发现和使用这些服务。 4. Spring Cloud中使用的服务注册和发现组件有哪些? Spring Cloud中使用最广泛的服务注册和发现组件是Netflix Eureka。它提供了一个中心化的服务注册表,以便服务可以注册并通过名称进行查找。另外,Consul和Zookeeper也是常见的选择。 5. 什么是负载均衡?Spring Cloud中如何实现负载均衡? 负载均衡是一种将请求均匀分配到多个服务器上的技术,以提高系统的性能和可扩展性。在Spring Cloud中,可以使用Ribbon来实现客户端负载均衡。Ribbon是一个基于HTTP和TCP的客户端负载均衡器,可以根据配置规则将请求分发到多个服务实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值