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

【后端】负载均衡

长期不定期更新补充。

定义

负载均衡(Load Balancing)是指将来自客户端的请求合理分发到多个服务器或服务节点,以提高系统性能、可用性与可靠性。

分工

前端不做负载均衡,前端只发请求,不知道请求去哪台服务器。
负载均衡拆成很多层,有分工。

层级名称示例 / 工具说明
DNS层DNS负载均衡DNS轮询(Round-Robin)多个 IP 轮流返回给客户端
网络层四层负载均衡(L4)LVS(Linux Virtual Server)基于 TCP/UDP,速度快但不看应用内容
应用层七层负载均衡(L7)Nginx、HAProxy、Traefik基于 HTTP,能根据路径、Header 分发
服务层服务注册/发现 + 负载均衡Spring Cloud、Kubernetes、Consul微服务架构常见,结合服务治理
层级是否后端负责说明
DNS 层❌ 网络或运维层负责把不同的请求分发到多个 IP 上,域名解析控制
四层负载均衡(LVS)后端/运维配合基于 TCP/UDP,只看 IP+端口
七层负载均衡(Nginx)后端常负责基于 HTTP 头、URL、Cookie 分发
微服务层(K8s / Spring Cloud)后端做自动服务发现、调用路由控制
CDN(内容分发网络)❌ 第三方网络服务商做靠近用户的边缘节点分发

实现

算法名称原理简介
轮询按顺序一个一个分发
加权轮询节点权重大,分发次数多
最少连接数分发给当前连接最少的服务器
IP hash同一个 IP 总是打到同一个服务器(用于会话粘性)
随机随机分发(适合高并发短连接)
  1. 静态网站/接口服务:使用 Nginx + upstream 做七层负载均衡
upstream backend {server 192.168.0.101;server 192.168.0.102;
}
server {location / {proxy_pass http://backend;}
}
  1. 微服务架构:使用 Ribbon、Feign 或 Gateway 内置的负载均衡器,(如 Spring Cloud)
  2. 容器化部署:使用 Service + kube-proxy + Ingress 自动实现服务发现和负载均衡(如 Kubernetes)
http://www.lryc.cn/news/573549.html

相关文章:

  • 怎么让二级域名绑定到wordpesss指定的页面
  • Linux系统基本操作指令
  • C++指针(二)
  • 【算法】【优选算法】优先级队列
  • 跨个体预训练与轻量化Transformer在手势识别中的应用:Bioformer
  • 告别线程爆炸:我如何用 Spring WebFlux 构建一个端到端响应式应用
  • 编程基础:调用访问
  • CSP-S 模拟赛一总结(T1、T2)
  • Odoo 17 Many2one字段内联编辑完整实现方案
  • 2025最新Python 100个常用函数在线体验项目
  • 微处理器原理与应用篇---计算机系统的性能测试
  • python中学物理实验模拟:凸透镜成像和凹透镜成像
  • Spring-MyBatis基本操作
  • 软件工程期末试卷简答题版带答案(共21道)
  • Typora文档另存与图片迁移的一种思路
  • JAVA锁机制:对象锁与类锁
  • 【好用但慎用】Windows 系统中将所有 WSL 发行版从 C 盘迁移到 非系统 盘的完整笔记(附 异常处理)
  • 百度萝卜快跑携4颗禾赛激光雷达进军迪拜,千辆L4无人车开启全球化战略
  • IEC61850 通信协议测试验证方法详解
  • 人工智能学习51-ResNet训练
  • Spring AOP全面详讲
  • Python 爬虫案例(不定期更新)
  • 一,python语法教程.内置API
  • 【知识图谱提取】【阶段总结】【LLM4KGC】LLM4KGC项目提取知识图谱推理部分
  • Linux 内核中 TCP 协议栈的输出实现:tcp_output.c 文件解析
  • 【JAVA】数组的使用
  • 电子电气架构 --- 实时系统评价的概述
  • 基于YOLO的智能车辆检测与记录系统
  • Transformer架构每层详解【代码实现】
  • LangGraph--基础学习(工具调用)