0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

常见的几种负载均衡技术介绍

jf_uPRfTJDa 来源: 移动Labs 2023-09-25 10:30 次阅读

Labs 导读

在大力建设算力网络的大背景下,随着SDN思潮的深入推进、网络集群的部署,负载均衡成为了一种不可或缺的技术,它在云,网,边都起了至关重要的作用。本文会对常见的几种负载均衡技术进行介绍,同时对各种技术的不足之处进行思考。

作者:蔡伸

单位:中国移动智慧家庭运营中心

Part 01 ECMP

ECMP是一个逐跳的、基于流的负载均衡策略,当路由器发现同一目的地址出现多个最优路径时,会更新路由表,为此目的地址添加多条规则,对应于多个下一跳,且可同时利用这些路径转发数据,增加带宽。ECMP算法被多种路由协议支持,例如:OSPF、ISIS、EIGRP、BGP等。在数据中心架构VL2中也提到使用ECMP作为负载均衡算法。

简单来说,ECMP是基于路由层面实现的负载均衡,基于IP层进行负载有许多优点,具体如下:

(1)部署配置简单,可以基于很多协议自身特性实现负载,无需额外配置。

(2)提供多种流量调度算法方式,可以基于哈希也可以基于权重和轮询方式。

简单的方式同时意味着存在许多缺陷,具体如下:

(1)可能加剧链路堵塞。因为ECMP不会判断原先链路是否已经堵塞,都会将流量进行负载,这样子会导致原先堵塞的链路更加堵塞。

(2)很多情况下负载效果不好。ECMP无法区分多条网络后的流量空闲情况以及ECMP在流量差距大的情况下负载性能差。

这种基于网络三层的负载方式虽然易于使用和部署,但是无法满足业务层面的使用,无法保持会话,故下面笔者会介绍几种网络四层以上的负载方式。

Part 02 LVS负载

LVS(Linux Virtual Server)即Linux虚拟服务器,是由章文嵩博士主导的开源负载均衡项目,目前LVS已经被集成到Linux内核模块中。该项目在Linux内核中实现了基于IP的数据请求负载均衡调度方案,终端互联网用户从外部访问公司的外部负载均衡服务器,终端用户的Web请求会发送给LVS调度器,调度器根据自己预设的算法决定将该请求发送给后端的某台Web服务器,比如,轮询算法可以将外部的请求平均分发给后端的所有服务器,终端用户访问LVS调度器虽然会被转发到后端真实的服务器,但如果真实服务器连接的是相同的存储,提供的服务也是相同的服务,最终用户不管是访问哪台真实服务器,得到的服务内容都是一样的,整个集群对用户而言都是透明的。最后根据LVS工作模式的不同,真实服务器会选择不同的方式将用户需要的数据发送到终端用户,LVS工作模式分为NAT模式、TUN模式、以及DR模式 。

wKgaomUQ8OmAZGk_AABo_VKEsZ4750.png

图1 LVS结构图

与ECMP不同的是LVS是基于会话的四层负载均衡,LVS会基于上下行五元组对不同的流进行会话保持,再结合LVS的长期发展,LVS具有非常多的优势:

(1)抗负载能力强。LVS只在网络四层做分发,不会过多的消耗CPU和内存资源。

(2)配置要求低。简单配置就能够正常使用。

(3)健壮性强。发展时间长,业内的部署方案非常多,稳定性高。

于此同时,LVS也存在许多不足:

(1)功能不够丰富。配置简单的同时导致LVS缺少更多的功能,缺少故障迁移,添加恢复等功能。

(2)NAT模式性能受限,当然这也是很多四层负载所面临的问题,笔者会在后续提出思考。

Part 03 NGINX负载

NIGINX除了作为一个高性能的HTTP服务器,同时能够提供反向代理WBE服务器的功能,也就意味着部署NGINX作为一台负载均衡服务器是可行的。当然,业内已经非常广泛的在使用NGINX作为负载均衡服务器,服务集群,主备链路等。

NGINX和LVS类似,都是基于四层以上的负载均衡,能够保持会话。同时因为NGINX工作在网络七层,相比LVS负载,NGINX对网络的依赖会更小。

相比LVS负载均衡,NGINX具有如下优势:

(1)对网络依赖小。只要网络能通就能做负载,不像LVS部分模式需要特定的网络环境。

(2)安装简单,配置部署快。

(3)NIGINX负载可以检测到服务器内部故障。简单来说,上传文件时发生故障,NIGINX会自动将上传切到另一台负载设备处理,LVS无法如此使用。

同样的,NGINX也存在一些缺点:

(1)缺少双机热备方案,多数情况下单机部署存在一定风险。(2)功能调整度高,变相导致它的维护成本和难度高于LVS。

Part 04 思考和探究

综合以上几种常见的负载技术的优缺点,其实不难发现各有各的好处,然而在实际使用过程中,笔者发现这几种方式都很难满足高性能跨网负载,即在做FULL-NAT的前提下实现跨城域网的负载,简单来说,就是在实验多节点云化部署时,这些方案都存在一定的性能贫瘠。

基于此,经过查阅相关资料,笔者发现Cisco开源的VPP项目提供了一种高性能负载均衡器的方式,基于DPDK收发包,VPP的高性能处理,经过二次开发可以实现跨网高性能负载,目前已经取得一定成效。下一期将针对这种高性能四层跨网负载均衡技术展开介绍和讨论。

未来,智慧家庭运营中心会在实现高性能跨网负载均衡器上进行更多的研究,欢迎更多的开发架构人员投入到高性能跨网负载均衡器的功能开发和场景探究之中来。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 负载
    +关注

    关注

    2

    文章

    449

    浏览量

    33886
  • Linux
    +关注

    关注

    87

    文章

    10990

    浏览量

    206738
  • 负载均衡
    +关注

    关注

    0

    文章

    97

    浏览量

    12188
  • 均衡技术
    +关注

    关注

    0

    文章

    9

    浏览量

    6627
  • 算力
    +关注

    关注

    1

    文章

    659

    浏览量

    14359

原文标题:技术 | 负载均衡技术在算力网络中的应用

文章出处:【微信号:5G通信,微信公众号:5G通信】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    路由器负载均衡怎么配置

    路由器负载均衡是一种重要的网络技术,它能够将多个网络连接的流量分配到多个路由器上,以提高网络的性能和稳定性。本文将详细介绍路由器负载
    的头像 发表于 12-13 11:17 1272次阅读

    介绍几种常见的光纤连接器

    介绍几种常见的光纤连接器,你都知道哪些?
    发表于 05-26 06:49

    介绍几种常见的ARM内核

    ARM内核 介绍几种常见的ARM内核1.Cortex-M3 2.Cortex-A7 3.Cortex-A53 4.Cortex-A72 ——什么是SoC芯片1. STM32F103ZET6 2. i.MX 6ULL 3. A13
    发表于 12-07 06:36

    什么是服务器网络负载均衡

    什么是服务器网络负载均衡 什么是负载均衡
    发表于 01-11 10:58 1746次阅读

    负载均衡技术建设高负载站点

    负载均衡技术建设高负载站点  Internet的快速增长使多媒体网络服务器,特别是Web服务器,面对的访问者数量快速增加,网络服务器需要具备提供
    发表于 01-29 11:28 501次阅读

    几种负载均衡方案介绍

     负载平衡是一种计算机网络技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最佳化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
    发表于 12-21 15:59 1676次阅读
    <b class='flag-5'>几种</b><b class='flag-5'>负载</b><b class='flag-5'>均衡</b>方案<b class='flag-5'>介绍</b>

    f5负载均衡器功能介绍及使用说明(配置)

    经常听到技术提到负载均衡这个词,还有F5、F5负载均衡等之类的,从网上找了点资料做个知识普及,希望能帮到想了解这方面知识的朋友。
    发表于 12-29 11:25 3.5w次阅读
    f5<b class='flag-5'>负载</b><b class='flag-5'>均衡</b>器功能<b class='flag-5'>介绍</b>及使用说明(配置)

    负载均衡技术有哪些?负载均衡技术的原理介绍

    随着因特网规模的不断增长,用户对系统反应时间的迅速高效及服务的不间断的要求越来越强烈,负载均衡能够充分的利用现有的网络结构,在网络结构的基础之上扩展服务器的带宽和网络设备、加强网络的可用及灵活性、增加吞吐量、提高网络数据处理能力,从而提供了一种廉价有效透明的方法。
    发表于 01-01 19:14 8266次阅读
    <b class='flag-5'>负载</b><b class='flag-5'>均衡</b><b class='flag-5'>技术</b>有哪些?<b class='flag-5'>负载</b><b class='flag-5'>均衡</b><b class='flag-5'>技术</b>的原理<b class='flag-5'>介绍</b>

    路由器负载均衡如何设置_路由器负载均衡的模式详解

    在路由器中加入负载均衡技术已经不是新鲜事。那么现在已经衍生出很多种路由负载模式,不同的模式状态下,可以完成不同的任务。而且模式间也可以进行转化和结合。下面详细
    发表于 01-01 19:43 3.7w次阅读
    路由器<b class='flag-5'>负载</b><b class='flag-5'>均衡</b>如何设置_路由器<b class='flag-5'>负载</b><b class='flag-5'>均衡</b>的模式详解

    服务器负载均衡几种类型,做负载均衡好在哪

    、反向署理负载均衡这两种类型,下面我们就来具体了解看看服务器负载均衡几种类型?做负载
    的头像 发表于 09-02 17:57 2919次阅读

    apache反向代理和负载均衡总结

    apache反向代理和负载均衡总结(5g电源技术要求)-apache反向代理和负载均衡总结                
    发表于 08-31 12:27 0次下载
    apache反向代理和<b class='flag-5'>负载</b><b class='flag-5'>均衡</b>总结

    Apacheproxy负载均衡和Session复制

    Apacheproxy负载均衡和Session复制(电源技术交流群)-Apacheproxy负载均衡和Session复制         
    发表于 08-31 12:29 0次下载
    Apacheproxy<b class='flag-5'>负载</b><b class='flag-5'>均衡</b>和Session复制

    解密负载均衡技术负载均衡算法

    承诺的 SLA),选择正确的负载均衡算法会对应用程序性能产生重大影响。 本文将会介绍常见负载均衡
    的头像 发表于 11-12 09:16 815次阅读

    负载均衡是如何工作的?

    负载均衡是在多个物理服务器之间智能分配流量以最大化资源利用率的过程。换句话说,在两台或多台计算机/服务器之间共享计算工作负载的过程就是负载均衡
    的头像 发表于 06-15 17:26 470次阅读

    如何确定适合的负载均衡比例

    路由器的负载均衡是一种应用于网络中的技术,它可以平衡网络流量的分配,提高网络的性能和稳定性。在配置路由器的负载均衡时,选择合适的
    的头像 发表于 12-15 10:36 493次阅读