常用的负载均衡技术

237 篇文章 79 订阅
订阅专栏

负载均衡是由多台服务器以对称的方式组成一个服务器集合,每台服务器都具有等价的地位,都可以单独对外提供服务而无须其他服务器的辅助。通过某种负载分担技术,将外部发送来的请求均匀地分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。
当用户发现 Web 站点负载量非常大时,应当考虑使用负载均衡技术来将负载平均分摊到多个内部服务器上。如果有多个服务器同时执行某一个任务时,这些服务器就构成一个集群。使用集群技术可以用最少的投资获得接近于大型主机的性能。
1.负载均衡技术的类型
目前,比较常用的负载均衡技术主要有以下几种:
(1)基于特定服务器软件的负载均衡。很多网络协议都支持“重定向”功能,例如,在 HTTP 协议中支持 Location 指令,接收到这个指令的浏览器将自动重定向到 Location 指明的另一个 URL 上。由于发送 Location 指令比起执行服务请求,对 Web 服务器的负载要小得多,因此可以根据这个功能来设计一种负载均衡的服务器。当 Web 服务器认为自己负载较大的时候,它就不再直接发送回浏览器请求的网页,而是送回一个 Location 指令,让浏览器在服务器集群中的其他服务器上获得所需要的网页。
在这种方式下,服务器本身必须支持这种功能,然而具体实现起来却有很多困难。例如,一台服务器如何能保证它重定向过的服务器是比较空闲的,并且不会再次发送 Location 指令?Location 指令和浏览器都没有这方面的支持能力,这样很容易在浏览器上形成一种死循环。因此这种方式实际应用当中并不多见,使用这种方式实现的服务器集群软件也较少。有些特定情况下可以使用 CGI(包括使用 FastCGI 或 mod_perl 扩展来改善性能)来模拟这种方式去分担负载,而 Web 服务器仍然保持简洁、高效的特性。此时,避免 Location 循环的任务将由用户的 CGI 程序来承担。
(2)基于 DNS(Domain Name Server,域名服务器)的负载均衡。通过 DNS 服务中的随机名字解析来实现负载均衡,在 DNS 服务器中,可以为多个不同的地址配置同一个名字,而最终查询这个名字的客户机将在解析这个名字时得到其中一个地址。因此,对于同一个名字,不同的客户机会得到不同的地址,它们也就访问不同地址上的 Web 服务器,从而达到负载均衡的目的。
DNS 负载均衡的优点是简单易行,并且服务器可以位于互联网的任意位置上,当前使用在包括 Yahoo 在内的 Web 站点上。然而它也存在不少缺点,一个缺点是为了保证 DNS 数据及时更新,一般都要将 DNS 的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更改了 DNS 数据之后也不能立即生效;另一个缺点是 DNS 负载均衡无法得知服务器之间的差异,它不能做到为性能较好的服务器多分配请求,也不能了解到服务器的当前状态,甚至会出现客户请求集中在某一台服务器上的偶然情况。
(3)反向代理负载均衡。使用代理服务器可以将请求转发给内部的 Web 服务器,使用这种加速模式显然可以提升静态网页的访问速度。因此也可以考虑使用这种技术,让代理服务器将请求均匀地转发给多台内部 Web 服务器,从而达到负载均衡的目的。这种代理方式与普通的代理方式有所不同,标准代理方式是客户使用代理访问多个外部 Web 服务器,而这种代理方式是多个客户使用它访问内部 Web 服务器,因此也被称为反向代理模式。
实现这个反向代理能力并不能算是一个特别复杂的任务,但是在负载均衡中要求特别高的效率,这样实现起来就不是十分简单的事了。每针对一次代理,代理服务器就必须打开两个连接,一个为对外的连接,一个为对内的连接。因此,当连接请求数量非常大的时候,代理服务器的负载也非常大,最后,反向代理服务器会成为服务的瓶颈。例如,使用 Apache 的 mod_rproxy 模块来实现负载均衡功能时,提供的并发连接数量受 Apache 本身的并发连接数量的限制。一般来讲,可以使用它来连接数量不是特别大、但每次连接都需要消耗大量处理资源的站点来进行负载均衡,例如搜寻。
使用反向代理的好处是,可以将负载均衡和代理服务器的高速缓存技术结合在一起,以提供有益的性能;其具备额外的安全性,外部客户不能直接访问真实的服务器。并且实现起来可以采用较好的负载均衡策略,将负载非常均衡地分给内部服务器,不会出现负载集中到某个服务器的偶然现象。
在这里插入图片描述
(4)基于 NAT(Network Address Translation,网络地址转换)的负载均衡技术。网络地址转换指的是在内部地址和外部地址之间进行转换,以便具备内部地址的计算机能访问外部网络,而当外部网络中的计算机访问地址转换网关拥有的某一外部地址时,地址转换网关能将其转发到一个映射的内部地址上。因此如果地址转换网关能将每个连接均匀转换为不同的内部服务器地址,此后,外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载分担的目的。
地址转换可以通过软件方式来实现,也可以通过硬件方式来实现。使用硬件方式进行操作一般称为交换,而当交换必须保存 TCP 连接信息的时候,这种针对 OSI/RM 网络层的操作就被称为第四层交换。支持负载均衡的网络地址转换为第四层交换机的一种重要功能,由于它基于定制的硬件芯片,因此其性能非常优秀,很多交换机声称具备 400MB~ 800MB 的第四层交换能力;然而也有一些资料表明,在如此快的速度下,大部分交换机就不再具备第四层交换能力了,而仅仅支持第三层甚至第二层交换。
使用软件方式来实现基于网络地址转换的负载均衡则要实际得多,除了一些厂商提供的解决方法之外,更有效的方法是使用免费的自由软件来完成这项任务。其中包括 Linux Virtual Server Project 中的 NAT 实现方式。一般来讲,使用这种软件方式来实现地址转换,中心负载均衡器存在带宽限制,在 100MBps 的快速以太网条件下,能得到最高达 80MBps 的带宽,然而在实际应用中,可能只有 40MBps~60MBps 的可用带宽。
(5)扩展的负载均衡技术。上面使用网络地址转换来实现负载分担,毫无疑问所有的网络连接都必须通过中心负载均衡器,那么如果负载特别大,以至于后台的服务器的数量不再在是几台、十几台,而是上百台甚至更多,这时,即便是使用性能优秀的硬件交换机也会遇到瓶颈。此时问题将转变为,如何将那么多台服务器分布到各个互联网的多个位置,分散网络负担。当然这可以通过综合使用 DNS 和 NAT 两种方法来实现,然而更好的方式是使用一种半中心的负载均衡方式。
在这种半中心的负载均衡方式下,即当客户请求发送给负载均衡器的时候,中心负载均衡器将请求打包并发送给某个服务器,而服务器的回应请求不再返回给中心负载均衡器,而是直接返回给客户,因此中心负载均衡器只负责接受并转发请求,其网络负担就较小了。
2.服务器负载均衡
服务器负载均衡一般用于提高服务器的整体处理能力,并提高可靠性、可用性和可维护性,最终目的是加快服务器的响应速度,从而提高用户的体验度。
负载均衡从结构上分为本地负载均衡(Local Server Load Balance)和全域负载均衡(Global Server Load Balance),前者是指对本地的服务器群做负载均衡,后者是指对分别放置在不同的地理位置、有不同的网络及服务器群之间做负载均衡。
全域负载均衡有以下特点:
(1)解决网络拥塞问题,服务就近提供,实现地理位置无关性;
(2)对用户提供更好的访问质量;
(3)提高服务器响应速度;
(4)提高服务器及其他资源的利用效率;
(5)避免了数据中心单点失效。

负载均衡的基础技术种类
wojiushimogui的博客
12-23 872
负载均衡的基础技术种类在李智慧大大的《大型网站技术架构核心原理与案例分析》这一本书的6.2节中有详细的介绍。这里写这篇博文主要是为了加深点印象。负载均衡的基础技术种类如下:1、HTTP重定向的负载均衡HTTP重定向服务器是一台普通的应用服务器,其唯一的功能就是根据用户的HTTP请求计算一台真实的Web服务器地址,并将该Web服务器地址写入HTTP重定向响应中(响应状态码302)返回给用户浏览器。缺点
负载均衡的几种实现技术
Hsuxu的专栏
09-01 3280
当web服务器的垂直扩展变得话费很高或困难的时候,我们需要考虑服务器的水平扩展,即负载均衡技术负载均衡有很多技术,这里我们来一一介绍。 1.HTTP重定向 我们可以在代码层面实现,通过设定访问特定页面如index.php,在php代码中设置header的location值,返回重定向指令。这实际上是web应用程序自己来实现。 2.DNS负载均衡 DNS负责域名和IP地址之间的映射。DNS
什么是负载均衡,看完文章秒懂
热门推荐
爱铭网络的专栏
07-07 7万+
一、负载均衡简介 1.1. 大型网站面临的挑战 大型网站都要面对庞大的用户量,高并发,海量数据等挑战。为了提升系统整体的性能,可以采用垂直扩展和水平扩展两种方式。 垂直扩展:在网站发展早期,可以从单机的角度通过增加硬件处理能力,比如 CPU 处理能力,内存容量,磁盘等方面,实现服务器处理能力的提升。但是,单机是有性能瓶颈的,一旦触及瓶颈,再想提升,付出的成本和代价会极高。这显然不能满足大型分布式系统(网站)所有应对的大流量,高并发,海量数据等挑战。 水平扩展:通过集群来分担大型网站的
细谈负载均衡,什么是负载均衡以及负载均衡的常见方法
ck784101777的博客
12-15 6416
一、负载均衡概述 负载均衡是由多台服务器以对称的方式是组成的服务器集群,每台服务器具有等价的地位,都可以单独对位提供服务而无需借助其他服务器的辅助。通过某种负载分担技术,将请求均匀的分配到对称结构的某一台服务器上,接受到请求的服务器负责处理请求并返回响应结果。负载均衡能平均分配客户请求到服务器集群阵列,相当于增加了买火车票的窗口,用以解决大量并发访问服务的问题。这种集群技术可以用最少的成...
常用负载均衡技术有哪些
weixin_40587144的博客
04-22 733
常用负载均衡技术有哪些
负载均衡技术(一)———负载均衡技术介绍
网易数帆社区博客
11-15 1067
此文已由作者张小刚授权网易云社区发布。 欢迎访问网易云社区,了解更多网易技术产品运营经验。本文主要是对负载均衡技术进行一个简单的介绍,并结合在实际生产环境中负载均衡技术的应用情况,让大家对负载均衡技术,以及这一技术在公司的应用情况有一个简单的了解。什么是负载均衡技术负载均衡技术,是现代计算机领域的基础技术之一,其基本原理是通过运行在前面的负载均衡服务器,根据执行的负载均衡算法,将流量分配到后端服务...
负载均衡有哪些?
程序大视界
11-23 3425
这些负载均衡策略你知道吗?
分布式架构系列: 负载均衡技术详解
weixin_34331102的博客
03-29 307
作者:地球的外星人君链接:https://zhuanlan.zhihu.com/p/60730915来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。面对大量用户访问、高并发请求,海量数据,可以使用高性能的服务器、大型数据库,存储设备,高性能Web服务器,采用高效率的编程语言比如(Go,Scala)等,当单机容量达到极限时,我们需要考虑业务拆分和分...
实用负载均衡技术网站性能优化攻略.pdf
06-03
实用负载均衡技术网站性能优化攻略 负载均衡技术是指通过在多个服务器上分配访问负载,以提高网站的可用性、可靠性和性能的一种技术负载均衡技术可以应用于各种类型的网站,包括静态网站、动态网站、门户网站、...
基于Linux的负载均衡技术.pdf
09-06
【基于Linux的负载均衡技术负载均衡是一种网络技术,它旨在优化网络资源的分配,确保在高流量或复杂网络环境中,服务的响应时间和整体性能得以提高。Linux虚拟服务器(Linux Virtual Server, LVS)是实现这种...
nginx简单实现负载均衡
01-20
在IT领域,负载均衡是一种关键的技术,用于在多台服务器之间分配网络流量,以优化资源利用、增强系统可用性、提高响应速度并确保无故障运行。Nginx 是一种常用的开源Web服务器,同时也常被用作负载均衡器,因其高效...
Web集群与负载均衡服务实现
12-11
【Web集群与负载均衡服务实现】是IT领域中提高网站和服务稳定性和可扩展性的重要技术。Web集群是指一组通过网络连接的独立计算机,它们协同工作,以提高整体处理能力和可用性,形成一个单一的、高性能的系统。负载...
最新网站负载均衡解决方案.doc
12-01
本文主要探讨了反向代理负载均衡技术及其关键组件,包括Nginx的配置,以及如何处理session同步问题。 反向代理负载均衡是通过在前端设置一个代理服务器,将来自客户端的请求转发到后端的服务器集群。Nginx作为一款...
详谈.NET中负载均衡的使用
菜鸟厚非
06-21 2万+
负载均衡(Load Balance),简称 LR,就是将并发的用户请求通过规则后平衡、分摊到多台服务器上进行执行,以此达到压力分摊、数据并行的效果。常见的算法也有许多随机、轮询、加权等,今天我们就使用 C# 来实现这几种算法,并讲解在实际项目中的使用。............
负载均衡技术
vos_land的博客
02-27 1037
系统规模达到一定程度,必然会引入对系统扩展性、系统性能、可用性方面的要求,几乎所有的解决方案中,都绕不开负载均衡的应用。 负载均衡实际是冗余技术的一种实现,对于典型的网站类应用系统,对应请求数据流的各个层面,有多种多样的负载均衡实现方案,后端的处理节点也同样如此。 要对网络请求进行负载均衡,首要的是服务无状态,请求可以在服务器组的任意节点处理,服务本身不保存状态数据,或...
各种负载均衡技术
小湘西的博客
04-03 889
负载均衡技术的选择取决于应用场景、服务器性能、网络环境等因素。在实际部署时,可能需要根据具体需求和资源情况对这些技术进行组合和优化,以实现最佳的负载分配和系统稳定性。负载均衡是一种技术,用于在多个服务器、网络链接、中央处理单元或其他资源之间分配工作负载,以提高吞吐量和减少响应时间。
值得收藏:《这 6 种实现负载均衡技术的方式不容错过》
weixin_33928467的博客
06-19 311
负载均衡(Load Balance)是集群技术(Cluster)的一种应用,可以将工作任务分摊到多个处理单元,从而提高并发处理能力,有利于提升中大型网站的性能。接下来小编就为大家介绍6种实现负载均衡技术的方式: 1. http重定向协议实现负载均衡根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问。该方式比较简...
Perl 语言的特点
最新发布
m0_70066267的博客
07-18 1026
Perl 语言入门学习可以涵盖多个方面,包括其特点、基本语法、高级特性以及学习资源和社区支持等。
HTTP重定向与负载均衡技术解析
代理服务器利用负载均衡可以缓存常用内容,减少对源服务器的直接请求,提高网络效率。此外,代理还可以根据协议类型进行流量控制,为不同类型的请求提供最优路径。 在实际应用中,重定向和负载均衡常常结合使用。...

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
1232
原创
1389
点赞
3153
收藏
968
粉丝
关注
私信
写文章

热门文章

  • 什么是幂等性 153856
  • 用map实现邮箱地址分离 74862
  • 使用onclick跳转到指定页面的方法 51732
  • 什么是白盒测试?什么是黑盒测试?两者的主要区别 44060
  • String 和StringBuilder的区别以及相互转换 42382

分类专栏

  • 软考高级系统架构师 237篇
  • 大数据 146篇
  • 论文 7篇
  • 软考高级系统分析师 2篇
  • 生活经验分享 11篇
  • 分布式文件系统 6篇
  • 人生感悟 1篇
  • word合并 11篇
  • 专业英语 4篇
  • 计算机原理 26篇
  • poi 5篇
  • 数据结构 8篇
  • 公共代码封装 9篇
  • 多线程 14篇
  • ElasticSearch 6篇
  • vue.js 27篇
  • idea 6篇
  • git 2篇
  • 设计模式 32篇
  • docker 18篇
  • 网络安全 6篇
  • kubesphere 1篇
  • k8s 4篇
  • kubespere
  • sentinel 1篇
  • 并发 5篇
  • 电脑优化 7篇
  • netty 3篇
  • JVM 4篇
  • 大数据面试 10篇
  • 大数据架构师 10篇
  • 分布式事务 7篇
  • Flink 53篇
  • Sqoop 2篇
  • Spark 25篇
  • JAVA架构设计 6篇
  • Hbase 14篇
  • NOSQL 14篇
  • Flume 9篇
  • Kakfa 8篇
  • 消息中间件 8篇
  • 领域驱动设计 4篇
  • alibabacloud 9篇
  • Scala 7篇
  • shiro 2篇
  • FastDFS 4篇
  • 缓存 1篇
  • 分布式锁 2篇
  • DevOps
  • 加密算法 2篇
  • JAVASE 179篇
  • Web 21篇
  • javascript 72篇
  • Oracle数据库 28篇
  • javaee 5篇
  • java项目实战 21篇
  • HTML5 13篇
  • JAVA高级架构师面试 80篇
  • Mysql数据库 58篇
  • spring 33篇
  • xml 6篇
  • servlet 22篇
  • jsp 14篇
  • jquery 4篇
  • springmvc 5篇
  • svn 1篇
  • Linux 21篇
  • bootstrap 5篇
  • hibernate 32篇
  • struts 7篇
  • ssh 9篇
  • mybatis 13篇
  • webservice 1篇
  • weblogic 8篇
  • 分布式缓存框架 5篇
  • eclipse优化 2篇
  • 数据库连接池的 2篇
  • 连接池的配置
  • redis 13篇
  • so
  • solr 2篇
  • Zookeeper 13篇
  • lua 3篇
  • springboot 6篇
  • springcloud 13篇
  • storm 2篇
  • MQ 8篇
  • kafka 3篇
  • Hive 4篇
  • Hadoop 56篇
  • shell 7篇
  • 数据结构和算法 30篇

最新评论

  • java读取图片的大小、高度、宽度

    LeBron888: 不支持webp

  • java接口设计需要考虑哪些方面

    普通网友: 文章内容通俗易懂,适合不同层次的读者。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 说说Lambda架构

    2401_84166236: 引领技术潮流,是不可多得的好文,十分值得借鉴和参考。期待博主未来能够持续分享更多好文【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • Lambda架构优缺点

    普通网友: 写的很详细,感谢博主的分享。【我也写了一些相关领域的文章,希望能够得到博主的指导,共同进步!】

  • 利用poi实现多个word之间的合并(包括图片、表格、样式都不丢失)

    时代挥豪: 果然非常好用。表格、图片、样式不丢失

您愿意向朋友推荐“博客详情页”吗?

  • 强烈不推荐
  • 不推荐
  • 一般般
  • 推荐
  • 强烈推荐
提交

最新文章

  • 接口性能优化方法总结
  • TCP 和 UDP 可以同时绑定相同的端口吗?
  • 用质量属性场景来描述可用性(2024年上半年软考系统架构师案例分析题)
2024年13篇
2023年140篇
2022年114篇
2021年422篇
2020年78篇
2019年75篇
2017年54篇
2016年369篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

PHP网站源码大运建站布吉网站开发塘坑百度竞价平湖网站排名优化民治外贸网站建设惠州网络营销同乐网站推广方案石岩关键词按天收费同乐外贸网站制作横岗推广网站福田百度网站优化排名大运百度标王罗湖百度竞价包年推广大芬seo网站推广福永建网站荷坳网站排名优化大鹏网站优化按天收费大运关键词排名包年推广横岗模板推广观澜如何制作网站大芬网站设计罗湖SEO按天收费罗湖网站设计模板丹竹头建网站宝安网页制作福田seo优化爱联网站推广工具双龙网站定制双龙百姓网标王推广龙岗网站改版歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

PHP网站源码 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化