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

架构师面试(二十三):负载均衡

问题

今天我们聊微服务相关的话题。

大中型微服务系统中,【负载均衡】是一个非常核心的组件;在微服务系统的不同位置对【负载均衡】进行了实现,下面说法正确的有哪几项?

A. LVS 的负载均衡一般通过前置 F5 或是通过 VIP + keepalive 实现;

B. Nginx 的负载均衡一般通过前置 LVS 或是 VIP + keepalive 实现;

C. 服务的负载均衡一般通过上游服务的 RPC 连接池实现;

D. 存储的负载均衡一般上游服务的 存储 连接池实现。

解析

在集群模式的系统中,【负载均衡】是一个非常非常关键的核心组件,它按一定的比例将流量转发到集群中的节点上,使集群中的节点按照均衡的负载稳定运行;除了管理负载,【负载均衡】组件也可以实现 集群的 高可用、高并发和高扩展。

在微服务系统中,每一分层集群的负载均衡,通常是基于上一层的负载均衡组件实现的,比如:数据访问层集群的负载均衡一般通过业务逻辑层节点的 RPC 连接池实现、业务逻辑层集群的负载均衡一般通过网关层节点的 RPC 连接池实现、网关层集群的负载均衡一般通过反向代理实现; 这样层层向上,终有头,到头了怎么处理呢? 通常通过 VIP + keepalive 的方式实现。

总结:微服务系统中,负载均衡的实现,有两种常用方式,即 前置组件 和 VIP + keepalive。

需要注意,存储层部分比较复杂,大量的数据需要【分片 + 副本】,要保证存储集群节点的负载均衡性,既需要考虑写负载、也要考虑读负载,既需要考虑分片后的路由,也要考虑分片副本的可用性;所以对于存储系统的负载均衡往往由其内部组件负责,比如  TiDB、Codis、RocketMQ 等。 (所以 D 选项是错误的)

这一部分内容我们在【架构师】课程的【架构篇之整体架构分析】中讲过哈,听过的同学好好复习一下,没有听过的同学当做一次知识输入。

参考答案

ABC

相关文章:

  • Spring AI 实现 STDIO和SSE MCP Server
  • C++ STL常用算法之常用查找算法
  • 智能体的学习(一)
  • k8s日志管理
  • Linux网络编程概述
  • ISATAP自动隧道
  • web自动化第一步:安装浏览器和驱动(Chrome和ChromeDriver)
  • 【Java】字符串String类
  • 相似度计算 第33次CCF-CSP计算机软件能力认证
  • 分秒计数器设计
  • XPath、XQuery 以及 XSLT 函数
  • 【工具变量】上市公司供应链稳定性数据两个维度(2013-2023年)
  • Netty源码—10.Netty工具之时间轮二
  • 【已开源】UniApp+vue3跨端应用从0到1开发指南、uniapp+vue3模板应用
  • 生成和管理作品集链接
  • Trae-中国首款免费AI原生IDE
  • Router [Continuation Settings]
  • 打包python文件生成exe
  • 【C++】 string底层封装的模拟实现
  • 【蓝桥杯】每日练习 Day 16,17
  • 如何用dw做网站地图/湖人今日排名最新
  • 重庆网站建设公司价格/短视频询盘获客系统
  • 展馆展厅设计方案/手机一键优化
  • 山东潍坊建设银行招聘网站/销售策略和营销策略
  • h5 app开发 网站建设/seo产品优化推广
  • 做企业网站赚钱吗/链接平台