【后端】负载均衡

长期不定期更新补充。

定义

负载均衡(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 做七层负载均衡
json 复制代码
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)
相关推荐
虎头金猫16 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
AI职业加油站17 小时前
AI智能体应用工程师证书:政策红利下的职业新风口
大数据·运维·人工智能·学习·职场发展
此冬歌咏18 小时前
K8s 节点故障实战:优雅驱逐 31 秒,硬故障 331 秒,以及那个永远 Pending 的 Pod
运维·k8s
-梅19 小时前
linux(8) 软硬链接
linux·运维·服务器
张洛闻Eren19 小时前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
其实防守也摸鱼19 小时前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
布裘20 小时前
【银河麒麟】V4桌面图标消失,右击鼠标没反应排查
运维·银河麒麟·桌面环境
懂软件的胡子个哥20 小时前
微信机器人为什么需要“回复候选”而不是所有 AI 内容直接发送
运维·微信·自动化·wechatapi·个人微信号二次开发
云贝贝贝21 小时前
腾讯云 TDSQL(MySQL 版)性能优化与慢查询排障实战 6 招
运维·腾讯云
Lsetea21 小时前
证书没到期却报certificate has expired:OpenSSL定位中间证书与系统时间
运维·https·ssl证书·openssl·证书链