当前位置: 首页 > 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.xdnf.cn/news/1064179.html

相关文章:

  • 解决OSS存储桶未创建导致的XML错误
  • LLMs之MCP:excel-mcp-server的简介、安装和使用方法、案例应用之详细攻略
  • 5.3 VSCode使用FFmpeg库
  • 一,python语法教程.内置API
  • modelscope设置默认模型路径
  • python中学物理实验模拟:凸透镜成像和凹透镜成像
  • springboot通过独立事务管理器实现资源隔离与精准控制​
  • C++ 函数模板
  • JavaEE初阶第三期:解锁多线程,从 “单车道” 到 “高速公路” 的编程升级(一)
  • 【格与代数系统】偏序关系、偏序集与全序集
  • python的校园兼职系统
  • 5.2 Qt Creator 使用FFmpeg库
  • C++ 的设计模式
  • 一文详解归并分治算法
  • 逆向入门(16)程序逆向篇-Cabeca
  • Python列表常用操作方法
  • 百度萝卜快跑携4颗禾赛激光雷达进军迪拜,千辆L4无人车开启全球化战略
  • 我开源了一套springboot3快速开发模板
  • 课程目录:腾讯混元3D × Unity3D全流程开发
  • C++基础练习 sort函数,用于排序函数
  • 第17章 转换 todo
  • 机器学习15-XGBoost
  • docker执行yum报错Could not resolve host: mirrorlist.centos.org
  • 60-Oracle 10046事件-实操
  • 闲庭信步使用SV进行图像处理系列教程介绍
  • 操作系统内核态和用户态--1-基础认识
  • 深入浅出:Go语言中的Cookie、Session和Token认证机制
  • Wire--编译时依赖注入工具
  • Qt + C++ 入门2(界面的知识点)
  • C# 数组(foreach语句)