当前位置: 首页 > news >正文

八股已死、场景当立(场景篇-负载均衡篇)

     废话不多说,今天更新场景篇-负载均衡的知识点,做好了开始发车喽!

 一、场景篇-负载均衡

1、Q:请解释什么是客户端负载均衡,它与传统的服务端负载均衡有何区别?

   A:区别要点在于控制权,感知能力,部署复杂度:

  1. 控制权:客户端负载均衡把调度权交给业务方,便于实现灰度发布、权重调度等细粒度策略;服务端负载均衡则由外部设备统一管理。
  2. 感知能力:客户端可以直接读取注册中心的健康状态、元数据(如权重、地域),实现更精准的调度;服务端只能基于网络层面的健康检查。
  3. 部署复杂度:客户端方式不需要额外的硬件/容器层负载均衡器,适合云原生微服务;服务端方式在跨语言、跨集群场景下更通用。
  • 客户端负载均衡指 调用方在本地完成服务实例的选择,常见实现有 Ribbon、Spring Cloud LoadBalancer 等。调用方先从注册中心获取全部可用实例列表,然后依据负载均衡算法挑选一个实例并直接发起请求。
  • 服务端负载均衡(如 Nginx、ALB)则在 网络入口处统一转发请求,调用方只知道统一的入口地址,真正的实例选择由负载均衡器完成。

2、Q: Ribbon 已进入维护模式,Spring Cloud 推荐使用哪款组件来替代?请说明两者在实现机制上的主要区别

A:推荐替代组件Spring Cloud LoadBalancer(SC‑LB)。

  • 实现机制区别
    1. Ribbon:基于 Netflix Ribbon,在客户端维护一个 IClientConfig → IRule → ServerList 的完整链路,使用 阻塞式 RestTemplate 或 Feign 调用时通过 @LoadBalanced 注解完成拦截。
    2. SC‑LB:采用 响应式(Reactor)‍ 编程模型,核心是 ReactorServiceInstanceLoadBalancer 接口,配合 DiscoveryClient 动态获取实例列表,默认实现 RoundRobinLoadBalancer 使用 原子计数器 实现轮询。
  • 优势:SC‑LB 与 Spring Boot 2/3 完全兼容,启动更快、对 WebFlux 原生支持、更易自定义

3、Q: 列举并简要描述微服务常用的六种负载均衡算法,说明每种算法的适用场景

A:六种的算法以及适用场景如下:

  • 算法 原理 典型场景
    轮询(Round‑Robin) 按顺序循环分配请求,使用计数器取模 实例性能相近、流量均匀的普通业务
    加权轮询(Weighted‑Round‑Robin) 为每个实例配置权重,权重越大分配的请求越多 实例硬件或业务处理能力不一致,需要倾斜流量
    随机(Random) 通过随机数直接选取实例 对实例性能要求不敏感、希望降低调度开销的场景
    加权随机(Weighted‑Random) 随机选取时考虑权重 与加权轮询类似,但更适合 突发流量 场景
    一致性哈希(Consistent‑Hash) 根据请求关键字段(IP、用户ID)计算哈希,映射到固定实例 有状态缓存、会话粘性或需要 最小迁移 的业务
    最小连接数(Least‑Connection) 选取当前活跃连接最少的实例 后端实例处理时长差异大、需要快速响应的实时业务

4、Q: 在 Spring Cloud 中,如何分别配置轮询随机 与 加权轮询 三种负载均衡策略?请给出关键的配置代码或属性示例

A无需额外配置,SC‑LB 默认实现即轮询、通过实现 

http://www.dtcms.com/a/564488.html

相关文章:

  • Go语言设计模式:备忘录模式详解
  • 基于YOLOv10的无人机智能巡检系统:电力线路悬挂物检测实战
  • 定制开发开源AI智能名片S2B2C商城小程序中的羊群效应应用研究
  • seo搜索引擎优化网站店铺位置怎么免费注册定位
  • 一个专门做恐怖片的网站做化工行业网站
  • 物联网 “神经” 之以太网:温湿度传感器的工业级 “高速干道”​
  • Biotin-PEG-OH,生物素-聚乙二醇-羟基,应用领域
  • 物联网“神经”之LoRa:温湿度传感器的广域“节能使者”
  • 舆情处置的自动化实践:基于Infoseek舆情系统的技术解析与落地指南
  • jcms内容管理系统百度seo怎么查排名
  • 亚马逊旺季广告攻略:解码产品周期,精准引爆销量
  • 【C#】HTTP中URL编码方式解析
  • 高速打印,安全稳定全兼顾 至像国产芯系列M3500DNWA应用测评
  • MacOS 安装Python 3.13【同时保留旧版本】
  • 八股训练营第 6 天 | HTTPS 和HTTP 有哪些区别?HTTPS的工作原理(HTTPS建立连接的过程)?TCP和UDP的区别?
  • 多阶段构建:打造最小化的 Spring Boot Docker 镜像
  • 在windows或者mac配置安装miniforge3
  • Arbess零基础学习 - 使用Arbess+GitPuk实现Java项目构建并Docker部署
  • 网站注册备案之后怎么做营销网络平台
  • laya3如何打包mac包
  • 【Linux】从内存布局到信号屏蔽:Linux 内核态与用户态交互核心知识点汇总
  • Docker:创建自定义容器,附通用Python 3.12模板
  • 从开源到智能体:OpenCSG 的长期主义
  • 合肥的网站建设州满分企业网
  • java通过模板渲染PDF报告
  • 基于 Verl 前端与 Atlas A3 集群的 DeepSeek-R1 模型 RL 训练优化实践:Cann-recipes-train 仓库技术深度解读
  • 技术评测:六行神算大模型平台实战分析
  • SecureShellProtocol(ssh)
  • HAproxy负载均衡详细介绍
  • Rust编程学习 - 如何快速构建一个单线程 web server