• 负载均衡架构


    整体架构

    设计关键点

    在这里插入图片描述

    4级负载架构

    在这里插入图片描述

    3级负载架构

    在这里插入图片描述

    2级负载架构

    在这里插入图片描述

    技术剖析

    DNS

    在这里插入图片描述

    应用

    地理位置和机房级别的负载均衡

    优点

    标准协议

    缺点

    1. 能力有限,不够灵活
    2. DNS劫持
    3. DNS缓存

    HTTP-DNS

    在这里插入图片描述

    应用场景

    App、客户端

    优缺点

    1. 可以根据业务和团队技术灵活定制
    2. 非标协议、不通用,不太适合Web业务

    架构设计关键点

    1. 智能调度模块可以独立,也可以嵌入到HTTP-DNS,一般独立成运维系统,因为智能调度系统有很多作用
    2. 正常的时候走DNS,异常的时候才走HTTP-DNS
    3. SDK会缓存HTTP-DNS解析结果

    GSLB

    定义

    GSLB(Global Server Load Balancing):全局负载均衡,主要用于在多个区域拥有自己服务器的站点,为了使全球用户只以一个 IP 地址或域名就能访问到离自己最近的服务器,从而获得最快的访问速度

    应用场景

    适合超大规模业务,多地甚至全球部署的业务,例如Google、Facebook等

    优缺点

    1. 功能强大,可以实现就近访问,容灾切换,流量调节
    2. 实现复杂

    基于DNS的GSLB

    在这里插入图片描述

    优缺点

    1. 实现简单、实施容易、成本低
    2. 可能判断不准,例如用户手工指定了DNS服务器

    基于HTTP redirect的GSLB

    在这里插入图片描述

    优缺点

    1. 能够拿到用户真实IP,判断准确
    2. 只适合HTTP业务

    基于IP欺骗的GSLB

    在这里插入图片描述

    优缺点

    1. 适合所有业务
    2. 每次请求必须经过GSLB设备,性能低
    3. 一般配合HTTP redirect GSLB一起应用

    F5

    在这里插入图片描述

    LVS

    在这里插入图片描述

    项目介绍

    开源项目,Linux2.4版本集成到内核

    性能

    内核级别的负载均衡,基本能跑满千兆网卡带宽,性能量级10~100万请求

    LVS-NAT

    在这里插入图片描述

    基本原理

    LVS绑定VIP,客户端向 VIP 发起请求连接,LVS在经过调度之后选取 RS,将本地端口与 RS 的端口做映射,然后 RS 返还数据给LVS,LVS将数据返还客户端

    应用场景

    反向代理,类似于 Nginx,Internet 不知道内部服务器的任何信息

    LVS-DR

    在这里插入图片描述

    基本原理

    LVS绑定VIP,客户端向 VIP 发起请求连接,LVS修改目的 mac 地址为某个服务器 RS,RS 服务器处理后直接返回结果给客户端

    应用场景

    LVS 和服务器在同一企业网络

    LVS-TUN

    在这里插入图片描述

    基本原理

    LVS绑定VIP,客户端向 VIP 发起请求连接,LVS通过隧道技术转发给某个 RS 服务器,RS 服务器处理后直接返回结果给客户端

    应用场景

    LVS 和服务器在不同企业网络,企业网络分为多个子网

    F5/LVS/Nginx对比

    F5LVSNginx备注
    基本原理硬件实现Linux内核实现软件实现硬件>内核>应用
    流量类型L4L4L7,仅限HTTPNA
    成本超贵一般,需要CPU较好的服务器便宜NA
    功能超强,负载均衡、防火墙、高速缓存…网络负载均衡反向代理NA
    性能量级100万~1000万10万~100万5万~10万以HTTP请求为例,Spring Gateway大约2~3万
  • 相关阅读:
    2022年编程语言排名,官方数据来了,让人大开眼界
    Docker部署Webvirtmgr管理kvm虚拟机
    ClickHouse count 查询卡在 Progress 界面一直等待
    java毕业设计房屋租赁系统Mybatis+系统+数据库+调试部署
    B2B医药电商行业如何处理分账业务?
    vue3+TS前端JS实现 搜索关键词变红
    windows环境下PHP7.4多线程设置
    论文降重,你都用了什么奇特的方法?
    代码随想录刷题笔记10——动态规划
    CMakeList.txt
  • 原文地址:https://blog.csdn.net/lee_nacl/article/details/127860640